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

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

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

  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">

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

 

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

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

时间: 2024-08-30 14:51:59

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

请问css里面的float是什么,怎么清除浮动,有什么作用

问题描述 请问css里面的float是什么,怎么清除浮动,有什么作用 请问css里面的float是什么,怎么清除浮动,有什么作用 解决方案 通常来说,html文档中块级别的元素都是从上到下依次排列的,每个块级别的元素都是自动撑满占据其父元素的一整行的,元素不能放在同一行. 而float属性就可以让元素脱离原来的文档流,使得多个块级别的元素可以排在同一行. 有个很好的博客,生动解析了float的作用和效果:http://www.zhangxinxu.com/wordpress/2010/01/cs

详解Python中writelines()方法的使用

  这篇文章主要介绍了详解详解Python中writelines()方法的使用,是Python入门学习中的基础知识,需要的朋友可以参考下 writelines()方法写入字符串序列到文件.该序列可以是任何可迭代的对象产生字符串,字符串为一般列表.没有返回值. 语法 以下是writelines()方法的语法: ? 1 fileObject.writelines( sequence ) 参数 sequence -- 这是字符串的序列. 返回值 此方法不返回任何值. 例子 下面的例子显示writeli

详解Python中time()方法的使用的教程

  这篇文章主要介绍了详解Python中time()方法的使用的教程,是Python入门学习中的基础知识,需要的朋友可以参考下 time()方法返回时间,在UTC时代以秒表示浮点数. 注意:尽管在时间总是返回作为一个浮点数,并不是所有的系统提供时间超过1秒精度.虽然这个函数正常返回非递减的值,就可以在系统时钟已经回来了两次调用期间返回比以前调用一个较低的值. 语法 以下是time()方法的语法: 参数 NA 返回值 此方法返回的时间,因为时代以秒表示浮点数(在UTC). 例子 下面的例子显示ti

详解Python中expandtabs()方法的使用

  这篇文章主要介绍了详解Python中expandtabs()方法的使用,是Python入门中的基础知识,需要的朋友可以参考下 expandtabs()方法返回制表符,即该字符串的一个副本. 't'已经使用的空间,可选择使用给定的tabsize(默认8)扩展. 语法 以下是expandtabs()方法的语法: ? 1 str.expandtabs(tabsize=8) 参数 tabsize -- 此选项指定要替换为制表符"t' 的字符数. 返回值 此方法返回在制表符,即通过空格进行了扩展字符串

详解Python中find()方法的使用

这篇文章主要介绍了详解Python中find()方法的使用,是Python学习中的基础知识,需要的朋友可以参考下 find()方法判断字符串str,如果起始索引beg和结束end索引能找到在字符串或字符串的一个子串中. 语法 以下是find()方法的语法: ? 1 str.find(str, beg=0 end=len(string)) 参数 str -- 此选项指定要搜索的字符串. beg -- 这是开始索引,默认情况下为 0. end -- 这是结束索引,默认情况下它等于字符串的长度. 返回

详解Python模块导入方法

python常被昵称为胶水语言,它能很轻松的把用其他语言制作的各种模块(尤其是C/C++)轻松联结在一起.python包含子目录中的模块方法比较简单,关键是能够在sys.path里面找到通向模块文件的路径. 下面将具体介绍几种常用情况: (1)主程序与模块程序在同一目录下: 如下面程序结构: `-- src |-- mod1.py `-- test1.py 若在程序test1.py中导入模块mod1, 则直接使用import mod1或from mod1 import *; (2)主程序所在目录

小脑袋竞价软件详解邮件推广的方法

邮件推行是被容许的,而发废物邮件是被阻挡的.邮件是一对一的, 所以客户收到你的邮件,与做网站广告比照,邮件的形象更深,也更简略找到忠实的访客. &http://www.aliyun.com/zixun/aggregation/37954.html">nbsp; 做邮件推行仍是遭到亿玛客老师的启示,由于 刚刚开始做,准备为邮件推行打下根底,所以在网上专门找了一些网络推行比照牛的人. 小脑袋 竞价软件详解邮件推广的方法.我选用的邮件推行的办法,目的即是让他们来到我的网站,增加流量.以下

CSS中使用clearfix清除浮动的方法

  首先在很多很多年以前我们常用的清除浮动是这样的. CSS Code复制内容到剪贴板 .clear{clear:both;line-height:0;} 现在可能还可以在很多老的站点上可以看到这样的代码,相当暴力有效的解决浮动的问题.但是这个用法有一个致命伤,就是每次清除浮动的时候都需要增加一个空标签来使用. 这种做法如果在页面复杂的布局要经常清楚浮动的时候就会产生很多的空标签,增加了页面无用标签,不利于页面优化.但是我发现大型网站中 居然还在使用这种清楚浮动的方法.有兴趣的同学可以上他们首页

CSS使用详解

css|详解 目录样式类型(List Style Type) 说明: 目录样式项属性指定目录项标记的类型,当目录样式图像值为none或当图像载入选项被关闭时使用.语法: list-style-type: <值>允许值: disc | circle | square | decimal | lower-roman | upper-roman | lower-alpha | upper-alpha | none初始值: disc适用于: 带有显示值的目录项元素向下兼容: 是 目录样式图像(Lis