CSS伪类和伪元素
之所以要说这两个是因为看到有这样的写法::before
,不是应该为:before
吗,原来之所以有前者这样的写法是为了区分伪类和伪元素,那么问题来了,伪类和伪元素,两者有什么区别。
从定义上看:
- CSS 伪类用于向某些选择器添加特殊的效果。常见的有:hover,:active,:visited等
- CSS 伪元素用于将特殊的效果添加到某些选择器。常见的有:after,: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 |
- scroll: 随着页面的滚动轴背景图片将移动
- fixed: 随着页面的滚动轴背景图片不会移动
- inherit: 继承
background-attachment: fixed 是针对视口固定位置的