clearfix的用法

clearfix的用法如果有一个 DIV 作为外部容器 内部的 DIV 如果设置了 float 样式 则外部的容器 DIV 因为内部没有 clear 导致不能被撑开 看下面的例子 div 的布局如下 css 的写法如下 浏览器的显示如下 传统的解决方法如下 但是 这么多加一个 DIV 有点不妥 一是多了一个没有意义的 DIV 二是在用 dojo 做 Drag amp Drop 的时候 由于这个 DIV 是容器 DIV 的一个字

如果有一个DIV作为外部容器,内部的DIV如果设置了float样式,则外部的容器DIV因为内部没有 clear,导致不能被撑开。看下面的例子:

div 的布局如下:clearfix的用法

css的写法如下:clearfix的用法

浏览器的显示如下:

clearfix的用法


传统的解决方法如下:

clearfix的用法


.clearfix:before,.clearfix:after { content:"";  display:table; } .clearfix:after{ 
 clear:both;} .clearfix{ *zoom:1;/*IE/7/6*/ }

或者

clearfix定义如下:
.clearfix:after{visibility:hidden;display:block;font-size:0;content: ” “;clear:both;height:0;}
.clearfix{*zoom:1;}






以下代码可以这么解释:
.clearfix:after {       <----在类名为“clearfix”的元素内最后面加入内容;
    content: “.”;     <----内容为“.”就是一个英文的句号而已。也可以不写。
    display: block;   <----加入的这个元素转换为块级元素。
    clear: both;     <----清除左右两边浮动。
    visibility: hidden;      <----可见度设为隐藏。注意它和display:none;是有区别的。仍然占据空间,只是看不到而已;
    height: 0;     <----高度为0;
    font-size:0;    <----字体大小为0;
}















整段代码就相当于在浮动元素后面跟了个宽高为0的空div,然后设定它clear:both来达到清除浮动的效果。(这个css的原理是经过使用 after伪对象,它将在应用clearfix的元素结尾添加content中的内容,也就是一个”.”,并且把他设置为块级元素 (display=”block”);高度设置为0,clear=”both”,然后将其内容隐藏掉(visibility=”hidden”).这样就会撑开此块级元素.)

之所以用它,是因为,你不必在html文件中写入大量无意义的空标签,又能清除浮动。
.clearfix { *zoom:1;}   <----这是针对于IE6的,因为IE6不支持:after伪类,这个神奇的zoom:1让IE6的元素可以清除浮动来包裹内部元素。具体意思的话,不用深究,听说微软的工程师自己都无法解释清楚。height:1%效果也是一样。














版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/222000.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 下午4:47
下一篇 2026年3月17日 下午4:47


相关推荐

  • Coze工作流实战:快速搭建网站的智能客服助手

    Coze工作流实战:快速搭建网站的智能客服助手

    2026年3月12日
    2
  • gis中char是什么字段_输入一个字符串统计字母个数

    gis中char是什么字段_输入一个字符串统计字母个数维护一个字符串集合,支持两种操作:I x 向集合中插入一个字符串 x;Q x 询问一个字符串在集合中出现了多少次。共有 N 个操作,输入的字符串总长度不超过 105,字符串仅包含小写英文字母。输入格式第一行包含整数 N,表示操作数。接下来 N 行,每行包含一个操作指令,指令为 I x 或 Q x 中的一种。输出格式对于每个询问指令 Q x,都要输出一个整数作为结果,表示 x 在集合中出现的次数。每个结果占一行。数据范围1≤N≤2∗104输入样例:5I abcQ abcQ ab

    2022年8月9日
    13
  • error lnk 2019_lnk2005错误

    error lnk 2019_lnk2005错误导致LNK2019的常见问题:(1)未链接的对象文件或包含符号定义的库(2)符号声明的拼写不与符号的定义相同(3)使用了函数,但类型或参数数目不匹配函数定义(4)声明但未定义的函数或变量(5) 调用约定是函数声明和函数定义之间的差异(6)符号定义在c文件中,但未使用externC在c++文件中声明(7)符号定义为静态,并随后被外部文件引用(8)未定义类的静态成员(9)生成依赖项仅定义为解决方…

    2022年10月5日
    3
  • cron表达式 每隔55分钟_如何用crontab每5分钟执行一次

    cron表达式 每隔55分钟_如何用crontab每5分钟执行一次展开全部一 创建存放 shell 脚本的文件夹 root data mkdirshell 二 编写 shell 脚本使用 vim nano vi 等任意文本编辑工具 都可以编写 shell 脚本 使 afe58685e5ae 用 nanotest sh 在当前目录下 创建一个测试 shell 脚本 shell 脚本的后缀习惯性写成 sh r

    2026年3月26日
    1
  • nanobanana教程:极简线条禅意艺术AI生成指南|Minimalist Single-Line Art风格创作

    nanobanana教程:极简线条禅意艺术AI生成指南|Minimalist Single-Line Art风格创作

    2026年3月15日
    1
  • 差分数组模板

    差分数组模板参考于labuladong:论那些小而美的算法技巧:差分数组一、什么时候使用差分数组呢?相信很多人都遇到过这类题:给定一个原数组长度为n,查询次数m,每次查询给定一个区间[l,r]和一个整数k,使得原数组介于[l,r]之间的元素同时增(或减)k输出最终的数组num[8,2,6,3,1]m=2131023注:第一次查询num=83741第二次查询num=1161041最终num=1

    2022年6月7日
    36

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号