css对于float返回文本流的做法

在设计中常常会遇到这样的问题:
当容器内部有float样式时,容器的高度不会被撑开。

下面介绍两种方法解决上面的问题

第一种:在浮动元素后面加一个clear: both;比较常见的方法。

<style type="text/css">
.left{float:left;}
.right{float:right;}
.clear{clear:both;}
</style>
<div>
<div class="left">
</div>
<div class="right">
</div>
<div class="clear">
</div>
</div>

缺点:兼容性不强,IE6下div.clear会有高度,需要height:0,overflow:hidden来解决;页面有冗余代码。
第二种方法:clearfix;最完美的解决方法。

.clearfix:after {
	content: ".";
	display: block;
	clear: both;
	visibility: hidden;
	line-height: 0;
	height: 0;
}
 
.clearfix {
	display: inline-block;
}
 
html[xmlns] .clearfix {
	display: block;
}
 
* html .clearfix {
	height: 1%;
}

或者

.clearfix{
    zoom:1
}
.clearfix:before,.clearfix:after{
    content:‘\0020‘;
    display:block;
    overflow:hidden;
    visibility:hidden;
    width:0;
    height:0
}
.clearfix:after{
    clear:both
}

用法:在浮动外的容器上加一个clearfix类。

<div class="clearfix">
    <div class="left">
    </div>
    <div class="right">
    </div>
</div>

或者

<div class="panel clearfix">
    内容···
</div>

css对于float返回文本流的做法

时间: 2024-08-01 12:49:46

css对于float返回文本流的做法的相关文章

float和position:absolute脱离文本流的区别

float和position:absolute脱离文本流的区别原创 paediatrician 最后发布于2016-09-19 10:43:05 阅读数 5375 收藏展开 文档流:将窗体自上而下分成一行行, 并在每行中按从左至右的顺序排放元素,块状元素独占一行,内联元素不独占一行: CSS中脱离文档流,也就是将元素从普通的布局排版中拿走,其他盒子在定位的时候,会当做脱离文档流的元素不存在而进行定位. 需要注意的是,使用float脱离文档流时,其他盒子会无视这个元素,但其他盒子内的文本依然会为这

CSS之float

在 HTML中的所有对象,默认分为两种:块元素(block element).内联元素(inline element),虽然也存在着可变元素,但只是随上下文关系确定该元素是块元素或者内联元素. 其实CSS的float属性,作用就是改变块元素(block element)对象的默认显示方式.block对象设置了float属性之后,它将不再独自占据一行.可以浮动到左侧或右侧. 浮动的框可以向左或向右移动,直到它的外边缘碰到包含框或另一个浮动框的边框为止.由于浮动框不在文档的普通流中,所以文档的普通流

CSS浮动(float)属性学习经验分享

作为一名前端开发的初学者,CSS的布局定位无疑成为了一个难点,这两天通过看一些博客的技术分享和自己的反复实践,大概领悟到了一些float的“门道”. 下面就通过一些例子来归纳总结一下我所学到的浮动特性: (一)浮动元素对其兄弟元素是标准流元素的影响: 现在假定HTML文档中从上到下有3个块元素A.B.C 1.现设定A.C为标准流中的元素,B设为float:left (注:为了更直观地显示,设B的透明度为0.5,B是在C上方的) 由此可见:将B设为浮动元素后,B脱离了标准文档流,浮于其上方,因此他

HTML 文档流和文本流的理解

文本流,概括地说其实就是一系列字符,是文档的读取和输出顺序,也就是我们通常看到的由左到右.由上而下的读取和输出形式,在网页中每个元素都是按照这个顺序进行排序和显示的,而position属性可以将元素从文本流脱离出来显示. 文档流,英文原版文档为"normal flow",翻译成常规流.普通流也就更好理解它了. 从直观上理解,常规流指的是元素按照其在 HTML 中的位置顺序决定排布的过程,主要的形式是自上而下(块级元素),一行接一行,每一行从左至右(行内元素). 定位类型包括三种: 常规

HTML上半部分布局及对于文本流认知

一.文本流 document flow => normal flow 本质:普通流/常规流 流:水流 河流 泥石流 => 自上而下(连续的),连续的 文档:页面主体 文档流:一个连续具有逻辑上下的页面整体 理解:出现在页面中的显示内容,均可以理解为在文档流中(片面的) 概念:将窗体自上而下分成一行一行,块级元素从上至下.行内元素在每行中从左至右的顺序依次排放元素. BFC:Block formatting context 概念:由block-level box参与布局,1.左右位置,根据BFC

CSS中float和Clear的使用

CSS中float和Clear的使用 本文和大家重点讨论一下CSS中Float和Clear属性的使用,一个float对象可以居左或居右,一个设置为float的对象,将根据设置的方向,左移或右移到其父容器的边界,或其前面的float对象的边界,而紧随其后的非float对象或内容,则包围在其相反的方向. CSS中Float和Clear属性用法 实现多栏排版的最好方法是使用float属性,float也是一个将使你受益匪浅的属性.一个float对象可以居左或居右,一个设置为float的对象,将根据设置的

标准文本流

标准文本流的三个属性 1.默认按顺序排列,若后面空间不足,文章内容会自动换行. 2.高低不一样会默认底端对齐. 3.如果想没有缝隙必须紧密连接,如果编辑代码时有多余空格网页就会有一个空格留位. 如何脱离文本流(按照html划分可叫文本级和容器级) 想让块级和行内相互转化可以使用display,display四个属性none/inline/block/inline-block 1)none 可以用于悬浮下拉菜单,为默认值,用于隐藏. 2)inline 用于把块级变成行内. 3)block 用于把行

验分享:CSS浮动(float,clear)通俗讲解

经验分享:CSS浮动(float,clear)通俗讲解 很早以前就接触过CSS,但对于浮动始终非常迷惑,可能是自身理解能力差,也可能是没能遇到一篇通俗的教程. 前些天小菜终于搞懂了浮动的基本原理,迫不及待的分享给大家. 写在前面的话: 由于CSS内容比较多,小菜没有精力从头到尾讲一遍,只能有针对性的讲解. 如果读者理解CSS盒子模型,但对于浮动不理解,那么这篇文章可以帮助你. 小菜水平有限,本文仅仅是入门教程,不当之处请谅解! 本文以div元素布局为例. 教程开始: 首先要知道,div是块级元素

CSS之float的那些事

相信很多同学在学习CSS的float属性时,会有很多说不清道不明的小情绪,我也遇到一些,暂且mark一下. 以下内容分为如下小节: 1:float属性 2:float属性的特性     2.1:float之文字环绕效果 2.2:float之父元素高度塌陷 3:清除浮动的方法 3.1:html法 3.2:css伪元素法 4:float去空格化 5:float元素块状化 6:float流体布局     6.1:单侧固定 6.2:DOM与显示位置不同的单侧固定 6.3:DOM与显示位置相同的单侧固定