浮动元素的清除

浮动元素的清除: 每个浮动元素之间都是会相互影响的,从而要清除浮动元素。方法有:

1、没有高度的父亲盒子能被儿子撑出高度,但儿子成为浮动元素后,父亲盒子将不会有高度。所以给父亲元素一个高度(足够高),就能清除浮动了。

2、clear:both :给后一个选择器增加 clear:both属性 ,但此时margin(外边距)失效了(其实不是真正的失效,原因还是父盒子没有高度,当达到一定高度,会有margin)

3、隔墙法:在两个盒子之间建一堵墙(<div></div>)

.cl{

clear: both;

margin: 10px;  /*margin没有作用*/

}

.h16{

height: 10px;

}

</style>

</head>

<body>

<div>

<p class="p1"></p>

</div>

<div class="cl h16">

<!-- 隔墙 ,一个标签可同时携带多个各类 -->

</div>

<div>

<p class="p2"></p>

</div>

</body>

</html>

4、内墙法:直接放在盒子里,并且墙所在的盒子会有高,墙可有背景颜色。

<div>

<p></p>

<p></p>

<div class="cl"></div>

</div>

以上可以当作一个公式用,当两个P都浮动时,div不能被撑出高 ,在家里修一堵墙 ,就能够让div被儿子撑出高。

5、overflow:hidden  : 一个父亲盒子不能被自己浮动的儿子撑出高度,但是只要给父亲加上overfloe:hidden(溢出隐藏 )属性,那么,父亲就会被儿子撑出高度。

时间: 2024-10-13 17:35:31

浮动元素的清除的相关文章

浮动float、浮动影响和清除浮动

普通流(normal flow) 这个单词很多人翻译为 文档流 , 字面翻译 普通流 或者标准流都可以. 前面我们说过,网页布局的核心,就是用CSS来摆放盒子位置.如何把盒子摆放到合适的位置? CSS的定位机制有3种:普通流(标准流).浮动和定位. html语言当中另外一个相当重要的概念----------标准流!或者普通流.普通流实际上就是一个网页内标签元素正常从上到下,从左到右排列顺序的意思,比如块级元素会独占一行,行内元素会按顺序依次前后排列:按照这种大前提的布局排列之下绝对不会出现例外的

清除浮动——让包围元素包含浮动元素的四种方法

什么是CSS清除浮动? 在非IE浏览器(如Firefox)下,当容器的高度为auto,且容器的内容中有浮动(float为left或right)的元素,在这种情况下,容器的高度不能自动伸长以适应内容的高度,使得内容溢出到容器外面而影响(甚至破坏)布局的现象.这个现象叫浮动溢出,为了防止这个现象的出现而进行的CSS处理,就叫CSS清除浮动. 有一段代码如下: <!DOCTYPE html> <html lang="en"> <head> <meta

利用伪元素:after清除浮动

让页面呈现多列布局时经常会使用  float:left/right ,可是浮动布局会导致父元素的高度为0(未设置高度的情况下),不会根据子元素的高度而变化,另外,后面不需要浮动想在下一行显示的标签出现在浮动元素的后面. #content{background:#000;} .left{width:100px;height:100px;background:#eee;margin:0 10px;float:left;} 所以我们在使用浮动进行布局的时候会需要一个块级元素(行内元素无效)来设置 cl

清除浮动,浮动元素的高度自适应问题

一.问题 当有时不浮动的父元素装载着浮动的子元素时,这个时候父元素的高度不会跟着的子元素的内容高度而自适应高度变大.比如截图的第一行图,上面一条黑色的粗线,就是父div的边框(为了看效果,我设置了父div的border:5px.左右两边是各浮动一个div). 于是乎,我想解决这个父元素高度不会跟随着子元素的内容而变化的问题.谷歌了一下,找到答案 二.解决方法 参考来源:http://www.ruanyifeng.com/blog/2009/04/float_clearing.html 里面提到了

围住浮动元素的三种方法

html代码 1 <body> 2 <section> 3 <img src="sea.png" alt="sea"> 4 <p>图片标题</p> 5 </section> 6 <footer>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmodtempor incididunt ut lab

浮动问题和清除浮动的方法

[问题] 当一个元素是浮动的,如果没有关闭浮动时,其父元素不会包含这个浮动元素,因为此时浮动元素从文档流中脱离(float的影响具体可读<float深入剖析>一文).如下: <!doctype html> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title></title> <style type=&

彻底理解浮动float CSS浮动详解 清除浮动的方法

我们把网页的常用的布局格式分为以下三种: 1.标准流. 所谓的标准流就是,行内元素自己单独一行,而块级元素是上下显示的. 以前我们学习的都是标准流.   注意:标准流使我们网页布局中最稳定的一种结构 2. 浮动流 使我们学习的脱离标准流的第一种方式.会影响我们标准流的排列.所以,我们布局的时候,能用标准流做的,就不用浮动做. 3. 定位流 定位流也是脱离标准流的一种模式.它完全脱离标准流,不会对标准流有影响. 浮动(float) 我们要浮动的目的: 我们浮动的目的,就是可以把多个块级元素放到想要

Web前端入门学习(5)——浮动原理及清除浮动

浮动原理及清除浮动 上节回顾 在上节的<Web前端入门学习(4)-- 块级元素和行内元素之特征与转换>中(http://cherry360.blog.51cto.com/12176744/1863945),介绍了块级元素和行内元素的特征,及粗略介绍了如何进行转换.加上display属性,可以指定元素的类型,如display:block.display:inline,以及display:inline-block.当然用得最多的是最后一个display:inline-block.结合例子来看: 例

CSS 教程 - 闭合浮动元素

按照CSS规范,浮动元素(floats)会被移出文档流,不会影响到块状盒子的布局而只会影响内联盒子(通常是文本)的排列. 因此当其高度超出包含容器时,一般父容器不会自动伸长以闭合浮动元素. 但是有时我们却需要这种自动闭合行为,具体如何处理呢? 有一种做法就是在父容器内再插入一个额外的标签,并令其清除浮动(clear)以撑大父容器.这种方法浏览器兼容性好,没有什么问题,缺点就是需要额外的(而且通常是无语义的)标签,所以我个人不大喜欢. 后来又有了一种新的方式,使用 :after 伪类动态的嵌入一个