谈谈浮动和清除浮动

简介: 谈谈浮动和清除浮动

浮动的框可以向左或向右移动,直到他的外边缘碰到包含框或另一个浮动框的边框为止。由于浮动框不在文档的普通流中,所以文档的普通流的块框表现得就像浮动框不存在一样。浮动的块框会漂浮在文档普通流的块框上。

浮动元素引起的问题

多个浮动起的元素是无法撑开父元素的宽度,父元素的高度可能会变成0。

若浮动元素前面还有同级元素没有浮动则会影响页面结构。

关于清除浮动,方法有多种:

方式二:使用额外标签法

.clear{
      clear:both;
     }

在浮动的盒子之下再放一个标签,在这个标签中使用clear:both,来清除浮动对页面的影响.

a里面的子盒子浮动会将本身的的父盒子高度重新撑开.

b.外部标签父盒子:会将这个浮动盒子的影响它的因素清除,但是不会撑开它的父盒子。


注意:这种方式书写简单快捷,一般情况下不会使用这一种方式来清除浮动。因为这种清除浮动的方式会增加页面的标签,造成结构的混乱。

方法三:使用伪元素来清除浮动(after意思:后来,以后)

.clearfix:after{
      content:“”;//设置内容为空
height:0;//高度为0
line-height:0;//行高为0
display:block;//将文本转为块级元素
visibility:hidden;//将元素隐藏
clear:both//清除浮动
     }

  优点:没有增加标签,结构更简单

缺点:照顾低版本浏览器

代表网站: 百度、淘宝网、网易等

方法四:使用双伪元素清除浮动

.clearfix:before,.clearfix:after {
content: “”;
display: block;
clear: both;
}
.clearfix {
zoom: 1;
}

方式一:使用overflow属性来清除浮动

   

.ovh{
      overflow:hidden;
     }

 先找到浮动盒子的父元素,再在父元素中添加一个属性:overflow:hidden,就清除了这个父元素中的,子元素浮动对页面的影响.

注意:一般情况下也不会使用这种方式,因为overflow:hidden有一个特点,离开了这个元素所在的区域以后会被隐藏(overflow:hidden会将超出的部分隐藏起来).这种情况会触发BFC

总结:overflow:hidden;方法会将超出部分隐藏,有时候我们想清除浮动并且保留超出部分时需要另设属性,clear:both;方法会增加许多不必要的标签,所以我们尽量使用:after方法来清除浮动。


相关文章
|
前端开发
CSS布局:浮动 (结构伪类选择器、伪元素、标准流、浮动、清除浮动)
CSS布局:浮动 (结构伪类选择器、伪元素、标准流、浮动、清除浮动)
62 0
|
前端开发 容器
【清除浮动的 5 种方法】
【清除浮动的 5 种方法】
|
前端开发 开发者
浮动与清除浮动| 学习笔记
快速学习浮动与清除浮动。
146 0
浮动与清除浮动| 学习笔记
|
前端开发
CSS的三种布局机制 浮动 清除浮动
CSS的三种布局机制 浮动 清除浮动
170 0
CSS的三种布局机制 浮动 清除浮动
如何清除浮动的四种方法
清除浮动的四种方法
94 0
|
前端开发 容器
清除浮动的四种方式
清除浮动的四种方式
133 0
|
前端开发
css布局技巧-文字围绕浮动元素巧妙运用
解释 我们前面讲浮动的时候说道浮动的元素会“飞起来”,不占有位置,会破毁标准流,导致浮动的元素下面的标准流会跑到浮动元素的位置被浮动的元素压住,但是,我们之前在浮动那一节说过,浮动产生的目的就是让文字围绕浮动元素的,即浮动的盒子不会压住文字,利用这个特性可以很好的简化某些布局。
264 0
css布局技巧-文字围绕浮动元素巧妙运用
|
移动开发 前端开发 JavaScript
css 学习笔记【三】浮动,不脱离文档流,继承和层叠
css 学习笔记【三】浮动,不脱离文档流,继承和层叠
|
前端开发 开发者
清除浮动 | 学习笔记
快速学习清除浮动。