- 在标准流中内容的高度可以撑起父元素的高度。
- 在浮动流中,浮动的元素是是不可以撑起父元素的高度的。
一、清除浮动元素
1.清除浮动的方式一:
- 给前面一个父元素设置高度;但是在企业开发中,我们能不写高度就不写高度,所以这种方式用的很少。
- 清除浮动的方式二:
给我们的后面的盒子添加clear 属性,
clear 属性的取值:
none:默认取值,按照浮动元素的排序规则来排序(左浮动找左浮动,有浮动找有浮动)
left:不要找前面的左浮动元素。
right:不要找前面的有浮动元素。
both: 不要找前面的左浮动元素和右浮动元素。
注意点 :这种清除方式会导致margin属性失效。
- 清除浮动的方式三
- 外墙法
在两个盒子中间添加一个额外的块级元素;
给这个额外添加的块级元素设置clear:both 属性;
注意点:外墙法它可以让第二个盒子使用margin-top属性,但是外墙法不可以让第一个盒子使用margin-bottom属性
- 内墙法
在第一个盒子中所有子元素最后添加一个额外的块级元素;
给这个额外添加的块级元素设置clear:both 属性;
注意点:内墙法它可以让第二个盒子使用margin-top属性,内墙法也可以让第一个盒子使用margin-bottom属性
- 外墙法和内墙法的区别:
- 外墙法不能撑起第一个盒子的高度,而内墙法不能撑起来第一个盒子的高度。
- 在我们的企业开发中不常用隔墙法来清除浮动。
二,伪元素选择器
1、 什么是伪元素?
伪元素选择器的作用就是给指定标签的内容前面添加一个子元素或者给指定标签的内容后面添加一个元素。
格式:
标签名称::before{
属性名称:值
}
给指定标签的内容前面添加一个子元素;
标签名称::after{
属性名称:值
}
给指定标签的内容后面添加一个子元素;
- 利用伪元素清除浮动的代码:
div::after{
content:"";
display:block;
height:0
visibility:hidden;
clear:both
}
以上代码对ie6 无效,需要增加*zoom:;
- 清除浮动元素方式五
- overflow:hidden:
作用:可以将超出标签范围的内容裁剪了;
作用:清除浮动元素;
作用:可以通过overflow:hidden 让里面的盒子设置margin-top之后外面的盒子不被定下来;