欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

如何解决浮动带来的影响

程序员文章站 2022-04-10 19:26:58
如何解决浮动带来的影响?浮动:选择器名{float:}浮动可以用来干什么?设置了浮动的框可以向左(left)或向右(right)移动,直到它的外边缘碰到包含框或另一个浮动框的边框为止。浮动并不存在于文档流之中。浮动会带来什么影响?当我们给子元素设置了浮动float:left或float:right或两者,但是没有给父元素设置高度时,就会出现父元素高度塌陷问题。因为浮动元素脱离了文档流,所以包围图片和文本的父元素盒子不占据空间。所以父元素盒子就不会被所浮动的内容展开,从而出现了高度塌陷。而因...

如何解决浮动带来的影响?

浮动:

选择器名{
float:
}

浮动可以用来干什么?

设置了浮动的框可以向左(left)或向右(right)移动,直到它的外边缘碰到包含框或另一个浮动框的边框为止。浮动并不存在于文档流之中

浮动会带来什么影响?

当我们给子元素设置了浮动float:left或float:right或两者,但是没有给父元素设置高度时,就会出现父元素高度塌陷问题。因为浮动元素脱离了文档流,所以包围图片和文本的父元素盒子不占据空间。所以父元素盒子就不会被所浮动的内容展开,从而出现了高度塌陷。

而因浮动的出现的高度塌陷会导致:
1、背景不能显示
由于浮动产生,如果对父级设置了(css background背景)css背景颜色或css背景图片,而父级不能被撑开,所以导致CSS背景不能显示。

2、边框不能撑开
如果父级设置了CSS边框属性(css border),由于子级里使用了float属性产生浮动,父级不能被撑开,导致边框不能随内容而被撑开。

3、margin padding设置值不能正确显示
由于浮动导致父级子级之间设置了css padding、css margin属性的值不能正确表达。特别是上下边的padding和margin不能正确显示。

如何解决浮动带来的影响呢?

方法

1、给父级定义height。 缺点:扩展性不好

2、父级“overflow:hidden定位浮动开启”BFC布局 浮动/定位盒子的特点高宽都由内容撑开。 缺点:IE6会失效

3、空标签清除浮动。 缺点:违反了结构行为样式相分离的原则,生成无意义的空标签

<div style="clear:both"></div>

4、伪元素清除浮动 clearfix(推荐使用)

/* 在需要清除浮动的父元素的选择器后面加一个clearfix伪元素选择器 */
clearfix::after{
    content:'';
    display:block;
    clear:both;
}

比如说div2这个子元素需要浮动,那么父元素则需要清除浮动:

<!-- 只需在其类选择器后用空格隔开,输入clearfix伪元素即可清除浮动 -->
<div class="clear clearfix">
	<div class="div2"><div>
</div>

本文地址:https://blog.csdn.net/zzh1251994430/article/details/107307672