css优先级,我知道,一般行内元素>页内样式>外部样式,但是今天在使用superslider的starFun的时候也碰到了优先级问题,刚刚碰到的时候没有想到,是群里大神提示的,感谢大神!
第一,感谢大话主席的superslider插件,一般的轮播效果我都用它
地址:http://www.superslide2.com/
第二,starFun使用情况
地址:http://www.superslide2.com/param.html
第三,
我最开始的使用,发现的问题
我在里面增加样式的时候,是直接使用行内样式style,导致的结果是,就第一眼看到是正常的,没有问题,但是当我鼠标滑过的时候,就会出现上面图片的问题,颜色没有产生变化。
刚刚开始,我以为自己class类名写错了,或者是css写错了,但是实际上我检查后没有发现错误,然后我尝试用了!important,也没有改正,只能寻求帮助。
群里大神告诉我,我写的是行内样式,但是后面使用addClass,优先级不够!让我声明最高优先级。当然,我也是使用了!important,这次全部使用addClass方法来改变。
结局很美好!
小知识:
同样的写法,在CSS文件中的CSS优先级【低于】直接写在页面中(一般在HEAD里的)的优先级【低于】标签上直接写STYLE;
其实这里的优先级可以算是读取顺序。因标签上的STYLE是最后读取,如果之前冲突的CSS中没有!important 就会被最后读取的覆盖。
然后 CSS中标签的优先级【低于】类名|伪类优先级【低于】ID优先级
有种模糊的说法作为参考。
ID的优先值是100,伪类|类是10,标签是1
id .class tag{}的优先值为111
可以覆盖
.class tag{} [11] #id tag{}[101] 这些写法(不包含!important)
优先值等同情况下,后者覆盖前者