背景

在提分加项目中用到了element-ui的select组件,发现第一次进入页面点击选择器时会有一个边框闪烁,后审查元素时发现了:focus-within的伪类。

解决
.select-box span:focus-within {
  border: none;
  outline: none;
}

其中,.select-box是我给select组件取的类名,添加完以上样式后,边框闪烁问题完美解决。

学习
  • 定义::focus-within 是一个CSS 伪类 ,表示一个元素获得焦点或该元素的后代元素获得焦点。换句话说,元素自身或者它的某个后代匹配:focus伪类

  • 实例:

    <p>Try typing into this form.</p>
    
    <form>
    <label for="given_name">Given Name:</label>
    <input id="given_name" type="text">
    <br>
    <label for="family_name">Family Name:</label>
    <input id="family_name" type="text">
    </form>
    form {
    border: 1px solid;
    color: gray;
    padding: 4px;
    }
    
    form:focus-within {
    background: #ff8;
    color: black;
    }
    
    input {
    margin: 4px;
    }
  • 兼容性:目前的兼容性还不太好,在高版本的chrome和firefox浏览器中已支持,IE下不支持。

参考文章:MDN web docs :focus-within

GitHub 加速计划 / eleme / element
15
3
下载
A Vue.js 2.0 UI Toolkit for Web
最近提交(Master分支:3 个月前 )
c345bb45 1 年前
a07f3a59 * Update transition.md * Update table.md * Update transition.md * Update table.md * Update transition.md * Update table.md * Update table.md * Update transition.md * Update popover.md 1 年前
Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐