1.设置了display: table-cell的元素容易被float、position:absolute破坏,所以在使用table-cell 时尽量不要与float: left、position: absolute同用。同时, 设置了display:table-cell的元素对宽度高度敏感,对margin值无反应,响应padding属性,基本上就是活脱 脱的一个td标签元素了。
2.设置了clear属性作用于非浮动块时当应用于非浮动块时,它将非浮动块的边框边界移动到所有相关浮动元素外边界的下方。这个行为作用时会导致margin collapsing不起作用。这里需要注意边框边界和外边界的区别。
3.在给input设置CSS属性时,注意到input在获得focus后出现的外层“边框”,无法使用border: none清除,应该使用outline: none清除。
4.在行内元素上定义vertical-align: middle时,有时会发现行内元素无法正常垂直对齐的情况,此时应该对父元素(即行内元素要垂直居中对齐的基线的元素)设置font-size: 0 来使得垂直居中正常对齐。
5.em单位长度是相当于它的直接父元素来说的,比如以下情况,但父元素子元素都设置为em单位时:
body{
font-size: 10px;
}
div{
font-size: 1.2em;
}
p{
font-size: 1.2em;
}
<div>
你是我的眼
<p>你是我的眼</p>
</div>
在继承的情况下,实际上div标签内的直接文本子元素字号为12px(10px1.2),而p标签内文本元素字号为14.4px(10px1.2*1.2),而不是预想的12px。这里比较简单就不上图了。
6.设置了z-index值的元素的层叠顺序在未设置z-index的元素(即默认值的元素)下方。