我们把网页的常用的布局格式分为以下三种:

1.标准流。

所谓的标准流就是,行内元素自己单独一行,而块级元素是上下显示的。
以前我们学习的都是标准流。
  注意:标准流使我们网页布局中最稳定的一种结构

2. 浮动流

使我们学习的脱离标准流的第一种方式。会影响我们标准流的排列。所以,我们布局的时候,能用标准流做的,就不用浮动做。

3. 定位流

定位流也是脱离标准流的一种模式。它完全脱离标准流,不会对标准流有影响。

浮动(float)

我们要浮动的目的: 我们浮动的目的,就是可以把多个块级元素放到想要的一行上。

浮动 Float: left   right   none
 
你不得不必须知道详细的理解浮动:

  1.  浮动已经脱离的标准流。 (脱标)

也就是说,浮动已经漂浮在标准流的上方。

2. 因为我们的浮动是左右浮动,所以我们的块级元素都是左右排列。

清除浮动(clear)

如果想要我们做的网页浏览器兼容性好,首先要保证的是,我们写的代码要足够标准。

清除浮动的原因:  因为浮动会影响标准流。所以我要根据不同情况来清除浮动。

Clear:both;

1.1.1额外标签法

W3c推荐,再最后一个浮动的盒子的后面,新添加一个标签。然后他可以清除浮动。
 
 

优点:  通俗好理解
缺点:  增加了太多的标签

1.1.2Overflow 清除浮动

使用方法:  是浮动的大盒子(父级标签)再样式里面加: overflow:hidden;为了照顾ie6,我们再加上 zoom:1;

优点: 代码书写方便
缺点: 如果这个父盒子,里面还有定位,就会引起麻烦。

1.1.3 After伪类清除浮动

  1. 声明清除浮动:

.clearfix:after{
content:"";
display:block;
visibility:hidden;
clear:both;
height:0;
}
.clearfix{ /* 为了照顾ie6浏览器*/
zoom:1;
}

  1. 调用

<div class="box clearfix">

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>overflow清除浮动</title>
<style type="text/css">
.clearfix:after{
content:"";
display:block;
visibility:hidden;
clear:both;
height:0;
}
.clearfix{ /* 为了照顾ie6浏览器*/
zoom:1;
}
.box{width:400px;}
.one,.two{width:200px; height:100px; background-color:#093; float:left;}
.two{background-color:#39F;}
.test{width:400px; height:120px; background-color:#900;}
 
</style>
</head>
<body>
<div class="box clearfix">
<div class="one"></div>
    <div class="two"></div>
</div>
<div class="test"></div>
</body>
</html>

优点: 一次写完,后面直接调用就可以了
   缺点: 声明麻烦写

1.1.4After before伪类清除浮动

  1. 声明清除

.clearfix:before,.clearfix:after{
content:"";
display:table;
}
.clearfix:after{
clear:both;
}
.clearfix{ /*照顾ie6*/
zoom:1;
}
使用:
<div class="box clearfix">

第四种,是大部分大型网站常用的,比如新浪 淘宝 的清除浮动的效果。

以上希望对大家有所帮助。

小强零零壹和大家一起分享。

彻底理解浮动float CSS浮动详解 清除浮动的方法的更多相关文章

  1. css属性详解和浮动

    一.CSS属性组成和作用 属性:属性值 1)每个css样式都必须由两部分组成:选择符和声明 注:声明又包括属性和属性值 2)css属性:属性是指定选择符具有的属性,他是css的核心,css2共有150 ...

  2. 详解 清除浮动 的多种方式(clearfix)

    说明 本文适合知道HTML 与 CSS基础知识的读者,或者想要了解清除浮动背后原理的读者! 1.什么是浮动 首先我们需要知道定位 元素在页面中的位置就是定位,解决问题之前我们先来了解下几种定位方式 : ...

  3. html5的float属性超详解(display,position, float)(文本流)

    html5的float属性超详解(display,position, float)(文本流) 一.总结 1.文本流: 2.float和绝对定位都不占文本流的位置 3.普通流是默认定位方式,就是依次按照 ...

  4. 带你走进CSS定位详解

    学习CSS相关知识,定位是其中的重点,也是难点之一,如果不了解css定位有时候都不知道怎么用,下面整理了一下关于定位属性的具体理解和应用方案. 一:定位 定位属性列表 position top bot ...

  5. 此博客使用的CSS样式详解!

    此博客使用的CSS样式详解! 页面使用的博客园模板为:LuxInteriorLight,可以在博客皮肤里找到. 页首屏蔽广告代码 <script>console.log("顶部标 ...

  6. CSS选择器详解(伪类) 转 http://blog.csdn.net/Panda_m/article/details/50084699

    CSS选择器详解 之 伪类 伪类对大小写不敏感 结构伪类选择器 结构伪类是CSS3新增的类型选择器,利用DOM树实现元素过滤,通过文档结构的相互关系来匹配元素,可以减少class和id属性的定义,使文 ...

  7. css filter详解

    css filter详解 filter 属性详解 属性 名称 类型 说明 grayscale 灰度 值为数值 取值范围从0到1的小数(包括0和1) sepia 褐色 值为数值 取值范围从0到1的小数( ...

  8. JSX设置CSS样式详解

    JSX设置CSS样式详解 1. 使用className设置样式(CSS的其他选择器也是同理) (1)定义一个CSS文件style.css,和普通CSS一样定义class选择器 .sty1{//和普通C ...

  9. 详解Python模块导入方法

    python常被昵称为胶水语言,它能很轻松的把用其他语言制作的各种模块(尤其是C/C++)轻松联结在一起.python包含子目录中的模块方法比较简单,关键是能够在sys.path里面找到通向模块文件的 ...

随机推荐

  1. TexturePacker

    TexturePacker 可以免费申请,希望可以申请到.

  2. Java Socket 入门2 Java与C# Socket 通信

    参考http://www.cnblogs.com/cdtarena/p/3184313.html 这里以C#作为服务端  其实不论C#是服务端还是客户端都不是主要问题 毕竟不论客户端还是服务端 都包括 ...

  3. Qt官方开发环境生成的exe发布方式--使用windeployqt(windeployqt是单独的程序,放在低版本qt4目录下也可以运行的)

    Qt 官方开发环境使用的动态链接库方式,在发布生成的exe程序时,需要复制一大堆 dll,如果自己去复制dll,很可能丢三落四,导致exe在别的电脑里无法正常运行.因此 Qt 官方开发环境里自带了一个 ...

  4. C++的二进制兼容问题(以QT为例)

    二进制不兼容带来的问题(需要重新编译库文件,以前编译的失效): http://my.oschina.net/lieefu/blog/505363?fromerr=f5jn7rct 二进制不兼容的原理: ...

  5. Pain for friend

    For a guy who has experienced his fair share of mysteries,on mystery,I still can't figure out is why ...

  6. Android 中文API (70) —— BluetoothDevice[蓝牙]

    前言 本章内容是  android.bluetooth.BluetoothDevice,为Android蓝牙部分的章节翻译.蓝牙设备类,代表了蓝牙通讯国足中的远端设备.版本为 Android  2.3 ...

  7. 浏览器兼容——DOM事件封装函数

    //封装函数var eventUtil={    //添加事件    addHandler:function(element,type,handler){        if(element.addE ...

  8. SharePoint需要开启的网站集功能

    1. 管理网站功能 2. 网站集功能

  9. Oracle行转列实例

    行转列之前的数据: select * from tbname; 行转列之后的数据: select pud, listagg(ud, ',') within group(order by null) a ...

  10. JAVA知识的相关积累--用于自己以后查找

    基础: Properties类操作文件,主要是对配置文件的操作.java中的properties文件是一种配置文件,主要用于表达配置信息,文件类型为*.properties,格式为文本文件,文件的内容 ...