css巧妙实现:激活标签影响相邻元素圆角样式
网页交互设计中,常需实现点击一个元素,其相邻元素样式也随之变化的效果。本文将探讨如何利用css选择器实现此效果,特别是针对激活标签前后元素圆角的调整。
场景描述
假设一个列表,每个列表项为一个
CSS实现
以下CSS代码展示如何实现上述效果,无需JavaScript干预:
.left { width: 100px; } .left li { height: 45px; display: flex; align-items: center; justify-content: center; transition: all .3s; /* 添加过渡效果 */ background: pink; border-radius: 0; /* 初始状态无圆角 */ } li.active { background: #fff; } /* 选择激活元素的后一个元素 */ li.active + li { border-radius: 0 10px 0 0; } /* 选择激活元素的前一个元素 (使用通用选择器,避免 :has 的兼容性问题) */ li + li.active { border-radius: 0 0 10px 0; }
这段代码利用了CSS的相邻兄弟选择器(+)。li.active + li选择的是紧跟在具有active类的
立即学习“前端免费学习笔记(深入)”;
此方法避免了:has选择器可能存在的浏览器兼容性问题,并提供了一种更简洁、高效的解决方案。 通过合理的CSS选择器和属性设置,我们轻松实现了预期效果。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END