在用UIkit的Slider组件时想给滑块按钮加圆角和阴影,但直接写CSS好像被覆盖了。我按照文档初始化了滑块:
然后给.uk-slider-nav的li元素加了这些样式:
.uk-slider-nav li {
border-radius: 50% !important;
box-shadow: 0 0 10px rgba(0,0,0,0.3) !important;
}
但样式完全没变化,检查开发者工具发现CSS属性被标记为无效。是不是要通过其他方式覆盖默认样式?或者需要在初始化时传递额外参数?
UIkit 的导航按钮是用伪元素生成的,你改不了原生样式就自己叠一层。
!important,所以你的规则被覆盖了。解决方法有两种:
1. **暴力方式**:用更高的优先级规则。比如这样:
这里增加了选择器的优先级(
.uk-slider-nav > li),并且保留了!important,能强行覆盖掉默认样式。2. **优雅方式**:通过自定义类名来避免冲突。UIkit允许你在初始化时传入额外的类名。你可以这样做:
然后针对这个新类名写样式:
这样既不会和默认样式冲突,也不需要乱用
!important。我个人更推荐第二种方式,代码看起来清爽多了,也不会不小心影响到其他地方的样式。反正折腾UIkit这种框架,自己多写点类名是最稳妥的。