一、伪类
1.:link
伪类将应用于未被访问过的链接。IE6不兼容,解决此问题,直接使用a标签。
:hover
伪类将应用于有鼠标指针悬停于其上的元素。在IE6只能应用于a连接,IE7+所有元素都兼容。
:active
伪类将应用于被激活的元素,如被点击的链接、被按下的按钮等。
:visited
伪类将应用于已经被访问过的链接
:focus
伪类将应用于拥有键盘输入焦点的元素。
2.排序遵循LoVe HAte原则
二、伪元素
:first-line
:first-letter
注释:以上两个伪元素只能用于块级元素
:first-child
伪元素,选择属于第一个子元素的元素。
例如:span:first-child{}/*选择属于第一个子元素的所有span标签。*/
:before与:after伪元素,可以设置元素之前后之后的内容,并且配合content设置相关内容。比如:#demo:after,#demo:before {content:"--";display:block; }
三、CSS的特性
1.CSS的层叠性,也就是说后来设置的样式会层叠(覆盖)之前的样式,层叠性的前提示CSS的选择器的优先级相同。
2.CSS的继承性是指,子容器的样式会继承父容器的样式。但并不是所有的样式都能继承。只有部分样式能继承,比如:文字相关字体大小、颜色、字体样式、行高、鼠标样式等。盒子相关的样式都不能继承,比如:宽高、背景色、边距、浮动、绝对定位等。
3.
继承的样式要大于默认的样式
通配符选择器的样式的优先级比继承样式的优先级要高
标签的选择器的优先级要高于通配符选择器的优先级。
类选择器的样式的优先级要高于 标签选择器的样式的优先级
行内样式的选择器的优先级高于id选择器的优先级。
复合选择器的样式优先级核算:
复合选择器的优先级根据四个层次来算,首先是行内最高。
其次,比较所有的id选择器的个数,个数多的为高。
再次比较类选择器的个数,个数多的为高,
最后比较标签选择器的个数,个数多的为高。
总结:
行内样式 > 页内样式 > 外部引用样式 > 浏览器默认样式
important > 内联 > ID > 伪类|类 | 属性选择 > 标签 > 伪对象 > 通配符 > 继承