• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com专业计算机教程网站
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure
您的位置:首页 > 网页设计 >CSS > css之clearfix的用法深入理解(必看篇)

css之clearfix的用法深入理解(必看篇)

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-08-06

本文主要包含css,clearfix等相关知识,佚名 希望在学习及工作中可以帮助到您

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

Css代码如下:

  1. .out{border:1px solid #F00; width:500px;}   
  2. .inner1{width:200px; height:200px; float:left; border:1px solid #00F;}   
  3. .inner2{width:200px; height:200px; float:left; border:1px solid #0F0;}   

IE和FF显示如下图:

传统的人解决方法:

但是,这么多加一个DIV有点不妥。一是多了一个没有意义的DIV,二是在用dojo做Drag & Drop的时候,由于这个DIV是容器DIV的一个字节点,如果这个节点被移动,则会造成排版上的Bug:如果要显示的蓝框的DIV被移到这个DIV之后,则因为clear:both,它会被强制换一行显示。所以,最好使用下面clearfix方法。外层div加上clearfix样式。

clearfix定义如下:

  1. .clearfix:after{visibility:hidden;display:block;font-size:0;content: " ";clear:both;height:0;}   
  2. .clearfix{*zoom:1;}   

这样修改以后显示正常。

那段代码是用来清除浮动的。

以下代码可以这么解释:

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

整段代码就相当于在浮动元素后面跟了个宽高为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%效果也是一样。

以上这篇css之clearfix的用法深入理解(必看篇)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持微课江湖。

您可能想查找下面的文章:

  • css小技巧
  • 各大网站CSS初始化代码
  • css权重问题
  • CSS实现鼠标上移图标旋转效果
  • 使用CSS3制作一个简单的进度条(demo)
  • 用纯CSS实现饼状Loading等待图效果
  • 利用CSS3伪元素实现逐渐发光的方格边框
  • CSS3实现内凹圆角的实例代码
  • 利用HTML5+CSS3实现3D转换效果实例详解
  • css3+伪元素实现鼠标移入时下划线向两边展开的效果

相关文章

  • 2017-08-06bootstrap3.0教程之栅格系统原理(布局)
  • 2017-08-06CSS实现进度条和订单进度条
  • 2017-08-06你应该知道的3个CSS技巧
  • 2017-08-06inut按钮hover时变化的css控制代码
  • 2017-08-06css实现适用于团购网站的橙色导航菜单代码
  • 2017-08-06css中pointer-events属性详解
  • 2017-08-06CSS3的RGBA中关于整数和百分比值的转换
  • 2017-08-06css命名不能以数字开头
  • 2017-08-06详解CSS中的选择器优先级顺序
  • 2017-08-0613个网页页面浏览器兼容性验证工具

文章分类

  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure

最近更新的内容

    • css overflow与text-indent:-999em 字体隐藏
    • CSS 样式覆盖原理示例介绍
    • CSS实现圆形放大镜狙击镜效果 只有圆圈里的放大
    • 深入讲解CSS中盒模型的用法
    • css 相对定位 绝对定位 浮动 分析
    • IE6不支持position:fixed bug的完美解决
    • css+js实现的网页常见选项卡效果
    • CSS中使用expression表达式
    • 收集的7个CSS3代码生成工具
    • Float 菜单水平居中简单方法

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有