

后代选择器优先级高于类选择器
p span{color:red;}
子选择器优先级和后代选择器相等(在写法相同的情况下)
p > span{color:blue;}
同一css文件中此时是red还是blue 取决于谁写在谁的上一行 在后面的优先级不会更高 但浏览器后渲染 定下来了后面的样式
优先级会叠加
p.is > span{color:black;} 此时优先级会加上类选择器的优先级
id>后代选择
256个类选择器干掉一个id选择器
http://www.zhangxinxu.com/study/201208/256-class-fire-an-id.html
绝不忘记目的( never forgotten purpose )
需要了解css优先级是因为我们需要准确的精简冗余低的便利的可重用的高效的选择元素 从而应用样式 构建一个棒棒的web站点(当然性能优化这方面的东西很大重头戏在后台)
但是这不代表运行在前端的东西就不用考虑性能 完全不去考虑前端的性能,这合适吗?
答案显而易见
效率从高到低为
id选择器(#myid)
类选择器(.myclassname)
标签选择器(div,h1,p)
相邻选择器(h1+p)
子选择器(ul < li)
后代选择器(li a)
通配符选择器(*)
属性选择器(a[rel="external"])
伪类选择器(a:hover,li:nth-child)
但写css的前端,大家基本不会业余到用id选择器
而伪类是有必要的而常用的
更多up可读
http://stevesouders.com/
http://www.tuicool.com/articles/INbuiq
http://csswizardry.com/2011/09/writing-efficient-css-selectors/ or http://www.w3cplus.com/css/css-selector-performance
http://www.jianshu.com/p/268c7f3dd7a6
