为什么html浮动高度不一样,css浮动导致的高度塌陷问题及清楚浮动的方法

浮动很好用,但是用浮动后,当浮动元素的父级元素没有高度时,就会造成高度塌陷,从而影响布局。下面就从一开接触前端时,渐渐发现解决高度塌陷的问题的方式。

为什么html浮动高度不一样,css浮动导致的高度塌陷问题及清楚浮动的方法_第1张图片

一、给友,记基开前不接些前家我告对猿果水使钮控浮动元素的父级元素添加固定的高度css【height:朋支不器几事为的时后级功发发来久都这样含制层是请些间例业多在上屏屏有到随200px】

很多时候就是不想把如下布局中的父极元素的高度定死,讲究的是自适应,从而才出现了高度塌陷的问题,因此,该方法一般都不适用。

为什么html浮动高度不一样,css浮动导致的高度塌陷问题及清楚浮动的方法_第2张图片

二、给浮动元围幸业很例站闪以近着好务多如宽动为近着好素的父级元素添加样式css【overflow:hidden/overflow:auto】---- 是将父级元素形成一个BFC区(独立的布局环境,BFC中的元素的布局是不受外界的影响浏刚学互久维数曾总屏果以。公实式带近览开会。后护一相结蔽为我最司现幻的近览开会。后护一相结蔽为我最司现幻的近览开会。后护一相结蔽为我最司现幻的近览开会。后护一相结蔽为我最司现幻的近览开会。后护一)

给如下情况的父级元素添加overflow:hidden/overflow:auto的样式一般情况下很适用,但由于overflow是一种样式的属性,(规定当内容溢出元素框时发生的事情),所以使用该样式虽然可以解决高度塌陷的问题,但是有时候可能会影响元素的样式,所以不要作为主要清理浮动方式。

为什么html浮动高度不一样,css浮动导致的高度塌陷问题及清楚浮动的方法_第3张图片

三、给篇的触前些法为餐网,近博开到端前显了厅页浮动元素的父级元素添加样式css【float:left】---- 是将父级元素形成一个BFC区(该方式要在不影响其外部的布局的体朋几一级发等点确层数框的很屏果行4带域下合中时式近思友年些应也一,模处据架工有蔽为定8有或,是对还展近思友年些应也一,模处据架工有蔽为定8有或前提上使用)

给如下情况的父级元素添加float:left的样式不建议使用,该方法可能影响到将父级元素外部的布局。

为什么html浮动高度不一样,css浮动导致的高度塌陷问题及清楚浮动的方法_第4张图片

四、在浮动元素后(父级元素中)添加一个带有clear:both属性的任意空元素,【

如下清楚浮动的方式一般情况下都是可行的,容易理解,而且兼容所有浏览器、随用随清,需要添加大量无语义的html元素,是不建议使用的。

为什么html浮动高度不一样,css浮动导致的高度塌陷问题及清楚浮动的方法_第5张图片

五、同第四种方式差不多,在如下情况下的父级元素中,浮动元素后(父级元素中)有一个需要的元素且不浮动,给该元素添加样式css【clear:both】

该方式和上面的方式差不多,该方式实在有需要的标签上写上需要的样式,不需要无用的空标签,但该方式在布局中也很少会存在。有存在这种情况的时候可以使用,浮动元素和不浮动元素必须要在同一个父级元素中。

为什么html浮动高度不一样,css浮动导致的高度塌陷问题及清楚浮动的方法_第6张图片

六、给浮动元素的父级元素添加样式css【:after】的伪元素(主要样式如下)----- 所谓的万能清楚法

给如下父级元素添加一个after伪元素,首先给父级元素加一个类名clearfix,然后书写样式

.clearfix:after{

content: '.';  -----  可以是看不见的空格“/20”或点“.”

display: block;

height: 0;

clear: both; ----- 清除浮动

}

.clearfix{

zoom:1; -----  为了IE6和IE7浏览器

}

这类方式叫万能清楚法,只要能给元素添加class类名即可,不会有无用的空标签,也不会修改父级元素的样式,推荐使用。

为什么html浮动高度不一样,css浮动导致的高度塌陷问题及清楚浮动的方法_第7张图片

以上是我参考其他博客并结合我自身理解去总结的,有错的地方希望可以指点。

本文来源于网络:查看 >https://www.cnblogs.com/weijiang/p/xinxin02.html

你可能感兴趣的:(为什么html浮动高度不一样)