相关文章推荐
爱逃课的啤酒  ·  json - when does php ...·  1 年前    · 
沉着的斑马  ·  Python中的HTTP请求和JSON解析- ...·  1 年前    · 
爽快的冲锋衣  ·  谈基于.net平台开发中的模式窗体_51CT ...·  1 年前    · 
健身的罐头  ·  express - In JWT the ...·  1 年前    · 
年轻有为的香烟  ·  Cypress 强大全新的 Web UI ...·  2 年前    · 
Code  ›  CSS 多个 item hover 突出效果开发者社区
css 腾讯 透明度css hover
https://cloud.tencent.com/developer/article/2023247
慈祥的苹果
1 年前
作者头像
上山打老虎了
0 篇文章

CSS 多个 item hover 突出效果

前往专栏
腾讯云
开发者社区
文档 意见反馈 控制台
首页
学习
活动
专区
工具
TVP
文章/答案/技术大牛
发布
首页
学习
活动
专区
工具
TVP
返回腾讯云官网
社区首页 > 专栏 > Article > CSS 多个 item hover 突出效果

CSS 多个 item hover 突出效果

作者头像
上山打老虎了
发布 于 2022-06-15 09:00:21
917 0
发布 于 2022-06-15 09:00:21
举报

最近项目中有一个 Hover 的效果,当选中其中一个元素的时候高亮展示,其余的元素透明度 0.5,虽然使用 JS 的方案通过监听鼠标的移入移出来实现,但是实属多余。

由于 CSS 中还没有父节点选择器,所以当你 hover 一个元素的时候,你只能让其后面的同级元素发生样式改变,一个是 ~ 一个是 + ,其实还可以通过 :not 选择器来变相的实现。

HTML 结构:

<div class="container">
  <a href="#" class="item"></a>
  <a href="#" class="item"></a>
  <a href="#" class="item"></a>
  <a href="#" class="item"></a>
  <a href="#" class="item"></a>
</div>

状态定义:

  1. 未 Hover 时的状态
  2. 当有一个元素 Hover 时的状态
  3. 当一个元素被 Hover 后,剩余其他元素的状态

所以一共有三种状态。

1. 未 Hover 时的状态,通过父级来控制:

// initial default color
.container:not(:focus-within):not(:hover) {
  .item { 
    background: #2888ff;
    opacity: 1;
}

2. 其中一个元素被 Hover,很简单,没有特殊逻辑。

.item :hover {
    background: #00c394;
    opacity: 1;
    box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.1), 0px 1px 2px rgba(0, 0, 0, 0.06);
 
推荐文章
爱逃课的啤酒  ·  json - when does php json_decode return false? - Stack Overflow
1 年前
沉着的斑马  ·  Python中的HTTP请求和JSON解析-腾讯云开发者社区-腾讯云
1 年前
爽快的冲锋衣  ·  谈基于.net平台开发中的模式窗体_51CTO博客_.net窗体应用开发
1 年前
健身的罐头  ·  express - In JWT the sign() method - Stack Overflow
1 年前
年轻有为的香烟  ·  Cypress 强大全新的 Web UI 测试框架应用尝鲜 - 知乎
2 年前
今天看啥   ·   Py中国   ·   codingpro   ·   小百科   ·   link之家   ·   卧龙AI搜索
删除内容请联系邮箱 2879853325@qq.com
Code - 代码工具平台
© 2024 ~ 沪ICP备11025650号