经常使用选择器css
元素选择器,即html标记如div,ul,li,p,h1~h6,table等。html
p { font-size:14px; } h1 { color:#F00; }
复合选择器, 由两个选择器直接构成,第一个必须是元素选择器,第二个必须是类选择器和ID选择器,这两个选择器之间不能有空格。浏览器
p.special { color:#red} .special { color:#green; }
后代选择器,用来寻找特定元素或元素组的后代,后代选择器由其余两个选择器之间的空格表示。在这里只有h2标记里面的字体显示为红色,而且有10px的内边距。ide
<div>测试1 <h2>测试1</h2> </div>
div h2{color:#F00;padding:10px;}
id选择器,标有特定 id 的 HTML 元素指定特定的样式,用#来表示。id 属性只能在每一个 HTML 文档中出现一次。测试
<div id="main"></div>
#main {font-size:18px;}
类选择器,标有class的 HTML 元素指定特定的样式,用.来表示。类名的第一个字符不能使用数字。字体
<div class="main"></div>
.main {font-size:18px;}
伪类,表示表单元素或连接的状态。url
如a:link,a:hover,a:visited,a:active,分别为用于连接还没有被用户访问的状态,用于用户移动他们的鼠标在元素上,而还没有触发或点击它的时候,用于用户访问过的连接,用于用户点击元素的状况。spa
通用选择器.net
像通配符的做用,能够匹配全部元素,由*表示,对页面上全部的元素应用样式。例如删除每一个元素上默认的浏览器内边距和外边距。可是使用*这种方式加载很慢,不建议使用。code
* {margin:0; padding:0;}
高级选择器
子选择器,选择元素的直接后代。这个与后代选择器不同,后者指选择一个元素的全部后代。
<ul id="nav"> <li>1</li> <li>1</li> <li> <ul> <li>2</li> <li>2</li> </ul> </li> </ul>
#nav>li {padding-left:20px;}
在这个例子中,只有外层列表的li会有20px的左边距,内层嵌套的不会有影响。
相邻同胞选择器,定位同一个父元素下某个元素以后的元素。
h2 + p {font-size:18px;}
属性选择器,根据某个元素的属性是否存在或属性值来寻找元素。
a[title=”test”] {color:#F00;}
CSS的优先级
如何计算指定选择器的优先级?若是你考虑到将优先级表示为用逗号隔开的四个数字就会至关简单,好比:1, 1, 1, 1 或0, 2, 0, 1
让咱们看几个例子,这样或许比较容易理解些:
在下面的例子中,第一个将会起做用,由于它比第二个优先级高:
文章参考
http://www.qianduan.net/taming-advanced-css-selectors.html
http://www.ruanyifeng.com/blog/2009/03/css_selectors.html