上篇文章我们说了元素的浮动,本篇文章紧张先容下css浮动带来的影响,以及如何打消浮动。

细心的人可能创造了,在我们上篇文章写的导航条中存在一个问题,那便是利用了float之后,父级盒子的高度变为0了。
我们来写一个例子来看一下,创建一个父级div,并设置border属性,然后下边创建两个子元素span,并设置浮动。
详细代码如下所示:

由上图可以看出,在给span添加了float之后,父级元素div的高度就变成了0。
我们有以下几种办法来办理这个问题

html消除浮动代码HTMLCSScss消除浮动的几种方法哪种最适合 Node.js

(1)给父级元素单独定义高度(height)

事理:如果父级元素没有定义高度,父元素的高度完备由子元素撑开时,父级div手动定义height,就办理了父级div无法自动获取到高度的问题。

优点:大略、代码少、随意马虎节制。

缺陷:只适宜高度固定的布局,要给出精确的高度,如果高度和父级div不一样时,会产生问题。
对付相应式布局会有很大影响。

(2)在标签结尾处加空div标签 clear:both

事理:添加一个空div,利用css提高的clear:both打消浮动,让父级div能自动获取到高度。

优点:大略、代码少、浏览器支持好、不随意马虎涌现怪问题

缺陷:不少初学者不理解事理;如果页面浮动布局多,就要增加很多空div,不利于页面的优化。

(3)父级div定义 伪类:after 和 zoom

事理:元素天生伪类的浸染和效果相称于方法2中的事理,但是IE8以上和非IE浏览器才支持:after,zoom(IE转有属性)可办理ie6,ie7浮动问题

优点:浏览器支持好、不随意马虎涌现怪问题,写法是固定的,不理解也可以直接复制利用;(

缺陷:css代码多、不少初学者不理解事理,要两句代码结合利用才能让主流浏览器都支持。

(4)父级div定义 overflow:hidden

优点:大略、代码少、浏览器支持好

缺陷:不能和position合营利用,由于超出的尺寸的会被隐蔽。
(不建议利用此种办法,可能会影响页面元素布局)

好了,本篇文章就给大家说到这里,大家自己下来可以这几种办法都试一试,自己觉得下哪种更适宜自己,

逐日金句:这次本来可以咸鱼翻身的,没想到粘锅了。
喜好我的文章的小伙伴记得关注一下哦,每天将为你更新最新知识。