在html中,浮动能够说是比较经常使用的。在页面的布局中他有着很大的做用,可是浮动中存在的问题也是比较多的。如今咱们简单说一下怎么去除浮动css
首先咱们先简单的看一下浮动:html
首先咱们先建立一个简单的div,并在其中再放两个div,而且给他们不一样的样式。布局
css样式代码:3d
#div1{background: medium purple;} #left{width: 200px;height: 100px;background: sky-blue;} #right{width: 250px;height: 150px;background: pink;}
html代码:htm
<div id="div1"> <div id="left"></div> <div id= "right"></div> </div>
效果图:blog
这就是最开始咱们咱们最开始的结构和样式,如今咱们给左上方蓝色的div一个向左浮动(float.left)看看有什么变化。文档
css代码:class
#left{width: 200px;height: 100px;background: skyblue;float:left;}
效果图:float
在此次的效果图上你们能够看到,粉色的div跑到了蓝色div的下面,并且紫色的div的宽度变成了和粉色div同样的宽度了,因此说在元素浮动后久不会再占据文档流了。它的宽度在没有定义的状况下,由本身的内容撑开。此时咱们在给粉色的div一个左浮动看一下有什么变化。方法
css代码:
#right{width: 250px;height: 150px;background: pink;float:left;}
效果图:
你们会发现紫色的div已经彻底消失了。而蓝色的div和粉色的div出如今了同一行。因此说在元素进行了浮动后默认是出如今同一行,并且浮动元素的位置是到父级的边界或者是遇到另一个浮动元素才会中止。不少然会问,咱们并不想让紫色的div消失怎么办?这就是咱们今天要说的去除浮动的方法。
方法一:(给父级元素宽度和高度)
因为浮动元素不占据文档流,因此说紫色div是因为没有内容撑开高度才消失的,而不是不存在了。因此方法一就是咱们给紫色div高度和宽度也就是给浮动元素的父级高度和宽度,从而让它本身撑开宽高,从而进行显示。
css代码:
#div1{width:600px;height:300px;background: medium purple;} #left{width: 200px;height: 100px;background: sky-blue;} #right{width: 250px;height: 150px;background: pink;}
效果图:
方法二:父级元素加上overflow:hidden
不少人会说咱们不想给紫色div固定的宽高,想让它的内容将它撑开。那么咱们就能够在父级元素上也就是紫色div的css中加上overflow:hidden。从而让紫色div显示出来了。
css代码:
#div1{background: medium purple;overflow:hidden}
效果图
:
方法三:给兄弟元素加一个clear:both
除了对父级进行改变,咱们也能够对子元素的兄弟元素进行改动,从而达到去除浮动的效果。
html代码:
<div id="div1"> <div id="left"></div> <div id= "right"></div> <div id="div2"></div> </div>
效果图:
方法四:利用伪类去除浮动
用伪类清除浮动时用after,而且加上content:""能够加内容也能够不加,可是必定要加上display:block;同时还要写clear:both;
css代码:
#div1:after{content:"";clear: both;display: block;}
效果图:
以上就是一些清除浮动的方法,但愿能够帮助到你们。