CSS伪类和伪元素

之所以要说这两个是因为看到有这样的写法::before,不是应该为:before吗,原来之所以有前者这样的写法是为了区分伪类和伪元素,那么问题来了,伪类和伪元素,两者有什么区别。

从定义上看:

伪类重点在于类的作用,可用于添加样式;伪元素重点在于营造一个“伪”的元素,重点在元素上

为了区别明显一些,在CSS3中,单冒号(:)用于CSS3伪类,双冒号(::)用于CSS3伪元素

详细的还可参见这篇详解 CSS 属性 - 伪类和伪元素的区别

box-sizing属性可以为三个值:

content-box,border和padding不计算入width之内

border-box,border和padding计算入width之内,IE怪异模式就是这样计算的

padding-box,padding计算入width内,这个貌似兼容性不好一般不考虑

区别简单的说就是box-sizing:content-box属性不包含盒子的padding值,如果有padding则撑开盒子的宽度高度,box-sizing:border-box;包含了盒子的padding值,设置了padding值不会影响盒子的原始宽度高度。

background-attachment:fixed

background-attachment – 定义背景图片随滚动轴的移动方式

取值: scroll fixed inherit

background-attachment: fixed 是针对视口固定位置的