谈谈浮动和清除浮动

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

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

浮动元素引起的问题

多个浮动起的元素是无法撑开父元素的宽度,父元素的高度可能会变成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布局:浮动 (结构伪类选择器、伪元素、标准流、浮动、清除浮动)
81 0
|
3月前
|
前端开发 容器
前端面试热门问题--浮动和清除浮动(CSS)
前端面试热门问题--浮动和清除浮动(CSS)
|
前端开发 容器
【清除浮动的 5 种方法】
【清除浮动的 5 种方法】
|
前端开发 开发者
浮动与清除浮动| 学习笔记
快速学习浮动与清除浮动。
152 0
浮动与清除浮动| 学习笔记
|
前端开发
CSS的三种布局机制 浮动 清除浮动
CSS的三种布局机制 浮动 清除浮动
176 0
CSS的三种布局机制 浮动 清除浮动
如何清除浮动的四种方法
清除浮动的四种方法
101 0
|
前端开发 容器
清除浮动的四种方式
清除浮动的四种方式
136 0
|
前端开发
css布局技巧-行内块元素的巧妙运用
这种分页用行内块元素做起来最方便,因为行内块元素之间正好有间距,且对父盒子添加text-align:center; 里面的行内元素和行内块元素都会居中对齐。
134 0
css布局技巧-行内块元素的巧妙运用
|
移动开发 前端开发 JavaScript
css 学习笔记【三】浮动,不脱离文档流,继承和层叠
css 学习笔记【三】浮动,不脱离文档流,继承和层叠