1. float
当上级容器没有设置固定宽高的情况下,要是float元素使得上级容器边框包容,
a.第一种通过在最后一个float元素后面加一个带有clear样式的元素。
b.第二种将上级元素的overflow设置为hidden
c.第三种通过伪类:after在最后一个float元素后面添加一个空白元素。
float元素虽然在文档流上不占有资源,但是其实还是属于上级容器的,即上级容器如果overflow设置为hidden,则,float超出范围也是看不见的。
2.overflow
确保当前元素的高和宽有固定值。
3.相对定位、绝对定位和float
相对定位元素,其在原有的位置上,然后根据top left值移动,而原来的位置空间不变。所以它会覆盖到别的元素上。
绝对定位:是更具body上固定的坐标值定位的,在普通文档流中不占有位置。
float::浮动的框可以向左或向右移动,直到它的外边缘碰到包含框或另一个浮动框的边框为止。由于浮动框不在文档的普通流中,所以文档的普通流中的块框表现得就像浮动框不存在一样。
4.外边框合并问题
如果padding为0的两个块元素,当一个元素出现在另一个元素上面时,第一个元素的下外边距与第二个元素的上外边距会发生合并;
当一个元素包含在另一个元素中时(假设没有内边距或边框把外边距分隔开),它们的上和/或下外边距也会发生合并。
注:只有普通文档流中块框的垂直外边距才会发生外边距合并。行内框、浮动框或绝对定位之间的外边距不会合并。
解决办法:如果是相邻的两个元素,则增加它们两个padding值不为0即可,如果只嵌套元素,则增加包含容器的padding值不为0即可。
5.关于垂直居中和line-height两属性的注意点:
6.word-break要在块级容器中使用才有效.