css
盒子模型
IE盒子模型 border-box
IE盒模型:属性width,height包含content、border和padding,指的是content+padding+border。
W3C盒子模型 content-box
W3C标准盒模型:属性width,height只包含内容content,不包含border和paddin
::before 和:after 中双冒号和单冒号有什么区别
在css3中使用单冒号来表示伪类,用双冒号来表示伪元素。但是为了兼容已有的伪元素的写法,在一些浏览器中也可以使用单冒号来表示伪元素。
伪类一般匹配的是元素的一些特殊状态,如hover、link等,而伪元素一般匹配的特殊的位置,比如after、before等
定位
absolute
absolute定位的元素,是相对于它的第一个position值不为static的祖先元素的paddingbox来进行定位的。这句话我们可以这样来理解,我们首先需要找到绝对定位元素的一个position的值不为static的祖先元素,然后相对于这个祖先元素的paddingbox来定位,也就是说在计算定位距离的时候,padding的值也要算进去。
relative
生成相对定位的元素,相对于其元素本身所在正常位置进行定位。
fixed(老IE不支持)
生成绝对定位的元素,相对于浏览器窗口进行定位。
static
默认值。没有定位,元素出现在正常的流中(忽略top,bottom,left,right,z-index声明)。
inherit
规定从父元素继承position属性的值。
CSS3 有哪些新特性
- 新增各种CSS选择器 (:not(.input):所有class不是“input”的节点)
- 圆角 (border-radius:8px)
- 多列布局 (multi-columnlayout)
- 阴影和反射 (Shadow\Reflect)
- 文字特效 (text-shadow)
- 文字渲染 (Text-decoration)
- 线性渐变 (gradient)
- 旋转 (transform)
- 缩放,定位,倾斜,动画,多背景
- 例如:transform:\scale(0.85,0.90)\translate(0px,-30px)\skew(-9deg,0deg)\Animation
width:auto 和 width:100%的区别
width:100%会使元素box的宽度等于父元素的contentbox的宽度。
width:auto会使元素撑满整个父元素,margin、border、padding、content区域会自动分配水平空间。
清除浮动
- clear:both
- overflow:hidden
- after伪元素清除浮动
- before和after双伪元素清除浮动
- 父级div定义 height