`
liuguofeng
  • 浏览: 450073 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

关于CSS浮动以及清除浮动的几种方法

    博客分类:
  • css
 
阅读更多

众所周知,CSS浮动在日常页面运用中起到非常重要的作用。
例如,我们可以利用浮动来实现多栏布局等。如下图,Qzone利用浮动来实现双栏布局的示例:

Qzone双栏布局示例

它的页面代码是这样的(主要):

HTML部分:

Qzone两栏代码

CSS部分(主要):

.col_menu {  float: left;  position: relative; width: 170px; }
.col_main { border-bottom-right-radius: 5px;  border-top-right-radius: 5px; float: left;  width:789px;}
不难看出,Qzone是通过给左右栏定宽并且浮动来实现的。
 
对比其他一些网站实现是如何实现两栏布局:
 
两栏布局示例
HTML部分:
HTML部分CSS部分:
CSS部分

很明显在保持同样html结构的情况下,实现两栏布局可以有多种CSS方案实现(左栏定宽),主要方向是用浮动或不用浮动,右栏定宽或者不定宽:

Qzone、朋友网、Facebook都给左栏浮动,唯一不同的是右栏的写法,Qzone给右栏定宽并且浮动,而朋友网和Facebook则并没有给右栏定宽也未浮动,而是利用了创建BFC并且为低版本IE触发hasLayout的原理让右栏自适应宽度。

Yahoo和Google两栏都未用浮动,唯一不同的是Yahoo用了绝对定位的方法,而谷歌用了inline-block,Google已经宣布旗下一些产品放弃对IE8 的支持,所以Google可以大胆的使用inline-block去实现布局,不用去为其他低版本浏览器写一大堆的hack。

说了CSS浮动,现在说说清除浮动的几种方法

  1. 采用一个HTML标签,以及css的clear属性,来手工清理浮动;
  2. 采用伪类:after,动态建立一个块元素,设定 clear 属性,清理之前的浮动元素;
  3. 采用CSS overflow 非 visible 值(overflow:auto/overflow:hidden)设定使父容器包含浮动元素;
  4. 采用display:table/display:table-cell 等table系列属性将父元素变成 table 形式自动包含浮动元素;
  5. 使用 TABLE 以及 TD 标签作为浮动元素容器;
  6. 采用 float:left/float:right 方式将父元素同样浮动,就可以包含浮动内容;
  7. 在 IE 6/7 的标准文档模式中设置 “width/height/zoom” 等样式来自动清理浮动。
清除浮动根本方法归类
1.使用css 1就提供的用来清除浮动的样式 clear,如:方法 1,方法 2
2.创建BFC,如:方法,3,4,5,6,7
3.触发hasLayout 如:方法6,7
 
常用方法
方法1,3,6,7
 
参考地址:
http://www.w3cfuns.com/article-945-1.html
http://www.w3help.org/zh-cn/casestudies/001
http://www.w3help.org/zh-cn/causes/RM8002
分享到:
评论

相关推荐

    xhtml+css清除浮动的3种方法

    为了解决这个问题,我们需要掌握几种常见的清除浮动的方法。 #### 方法一:使用额外的标签进行清除 这种方法是最直观的一种方式,它通过在浮动元素后面添加一个额外的空标签(通常是`<div>`),并设置`clear:both`...

    清除浮动的几种方法.md

    清除浮动的几种方法.md

    清除浮动的几种方法PPT学习教案.pptx

    清除浮动的几种方法 清除浮动是指在CSS中,浮动元素脱离文档流,导致父级元素无法自动获取到高度的问题。清除浮动是每一个web前台设计师必须掌握的机能。下面将介绍几种清除浮动的方法: 1. 对父级设置适合的CSS...

    CSS技术:清除浮动的最优方法.pdf

    文档中提及了以下几种清除浮动的技术: 1. **clear属性** - 在浮动元素的后面使用一个具有“clear”属性的元素,可以强制该元素下方出现空间,从而避免父元素的高度塌陷问题。在文档内容中,`.demo` 类使用了 `...

    css清除浮动的几种方法以及对应规范说明

    以下是对清除浮动的几种方法及其规范说明的详细解释: 1. **使用`clear:both`** 当一个元素设置`clear:both`时,这个元素会向下移动,直到它不在与任何浮动元素相邻。这通常用于浮动元素之后的非浮动元素,或者在...

    CSS 浮动.pdf

    有几种方式可以清除浮动: 1. **使用`clear`属性** - 为后续元素添加`clear: both;`,这会防止该元素被浮动元素影响。例如: ```css .clearBoth { clear: both; } ``` 然后在HTML中,将此类应用于一个空的`...

    css清除浮动的几种方法和示例

    以下介绍几种常见的CSS清除浮动的方法: 1. 使用`clear`属性: 这是最基础的清除浮动方式。通过设置`clear`属性,我们可以指定元素不允许与浮动元素相邻。例如,将`.clr{clear:both;}`应用到元素上,使得这个元素...

    HTML5 清除浮动

    清除浮动主要有以下几种方式: 1. 使用CSS的`clear`属性:我们可以给后续元素设置`clear:both`,这将强制该元素不与任何浮动元素相邻接。例如: ```css .clear-fix { clear: both; } ``` 然后在HTML中添加一...

    清理浮动的几种方法

    浮动布局在CSS中是一种经典而基础的布局方式,它允许元素在页面中向左或向右浮动,使得其他内容能够环绕其展示。然而,浮动元素的一个常见问题是它们可能导致父容器的高度无法正确计算,进而影响后续元素的布局。这...

    zcxiaobao#everyday-insist#css清除浮动的几种方法(2020.01.08)1

    分析:清除浮动大致有两种方案:clear、触发 BFC额外标签法: 在浮动元素平级的最后面添加额外元素,例如:<div class="clearfix"></d

    css如何清除浮动常用的方法有哪些

    如何清除浮动? 方法1: #test{clear:both;} #test为浮动元素的下一个兄弟元素 方法2: #test{display:block;zoom:1;overflow:hidden;} #test为浮动元素的父元素。zoom:1也可以替换为固定的width或height 方法3...

    浅谈css中浮动和清除浮动带来的影响

    清除浮动主要有以下几种方法: 1. 隔墙法(clearfix):在需要清除浮动的元素后面添加一个无内容的空元素,并设置`clear: both`,或者使用CSS伪类`:after`来模拟空元素并清除浮动。 ```css .clearfix:after { ...

    css别忘记清除浮动clear:both

    本文将详细介绍几种常用的清除浮动的方法,并分析各自的优缺点。 #### 一、使用空标签清除 这种方法是最简单的清除浮动方式之一,只需要在浮动元素后面添加一个空的`<p>`标签或者`<div>`标签,并应用`clear:both;`...

    CSS浮动所差生的内容溢出问题及清除浮动的方法小结

    清除浮动主要有以下几种方式: 1. **添加空` `标签**:在所有浮动元素之后插入一个空的` `标签,由于` `具有清除浮动的特性,可以解决溢出问题。但这并不是一个最佳实践,因为它引入了额外的HTML标记,...

    CSS 清除浮动方法大全

    以下是对几种常见的CSS清除浮动方法的详细解释: 1. **伪类`:after`**: 使用CSS的`:after`伪类可以添加一个看不见的元素来清除浮动。通过设置`content: ""`和`clear: both`,这个看不见的元素将强制父元素扩展以...

    day06(CSS04-浮动).rar

    标题中的"day06(CSS04-浮动).rar"指示了这是一个关于CSS浮动的教程资料包,属于Web前端开发的学习资源。CSS是层叠样式表(Cascading Style Sheets)的缩写,它是用来描述HTML或XML(包括如SVG、MathML等各种XML...

Global site tag (gtag.js) - Google Analytics