浅谈css清除浮动(clearfix和clear)的用法


Posted in HTML / CSS onMay 21, 2023

本文主要是讲解如何在 html 中使用 clearfix 和 clear,针对那些刚开始了解 css 的童鞋。关于 clearfix 和 clear 的样式在这里我就不写了。

下面就谈谈对于这两个 class 的用法,首先我们先看个例子:

<!DOCTYPE HTML>  
<html lang="en-US">  
<head>  
    <meta charset="UTF-8"/>  
    <title>如何在html中使用clearfix和clear</title>  
    <link rel="stylesheet" type="text/css" href="/css/base.css" media="all"/>  
    <style type="text/css">  
    .fl{float:left;}   
    .demo{background:#ccc;}   
    .item1{background:#f90;height:100px;width:100px;}   
    .item2{background:#fc0;height:200px;width:100px;}   
    </style>  
</head>  
<body>  
    <div class="demo">  
        <div class="fl item1"></div>  
        <div class="fl item2"></div>  
    </div>  
</body>  
</html>

我们都知道使用浮动会产生很多未知的问题,通过上面的例子我们可以发现 class="demo" 的高度并没有被里面的 div 给撑开,这是因为里面的 div 产生浮动而脱离了该文档,因为 demo 本身没有高度,所以我们看不到它的灰色背景。当然只要给 demo 一个高度就行了,但是这就脱离了本文的目的(有时我们希望外层 div 的高度由里面的内容来决定)。

既然是浮动产生的问题,那么只要清除浮动就可以了,相信高手们有很多清除浮动的方法,比如 overflow:hidden。下面我将介绍用 clearfix 和 clear 来清除浮动。

<!DOCTYPE HTML>  
<html lang="en-US">  
<head>  
    <meta charset="UTF-8"/>  
    <title>如何在html中使用clearfix和clear</title>  
    <link rel="stylesheet" type="text/css" href="/css/base.css" media="all"/>  
    <style type="text/css">  
    .fl{float:left;}   
    .demo{background:#ccc;}   
    .item1{background:#f90;height:100px;width:100px;}   
    .item2{background:#fc0;height:200px;width:100px;}   
    </style>  
</head>  
<body>  
    <h2>用 clear 清除浮动</h2>  
    <div class="demo">  
        <div class="fl item1"></div>  
        <div class="fl item2"></div>  
        <div class="clear"></div>  
    </div>  
    <h2>用 clearfix 清除浮动</h2>  
    <div class="clearfix demo">  
        <div class="fl item1"></div>  
        <div class="fl item2"></div>  
    </div>  
</body>  
</html>

我们发现,clearfix 主要是用在浮动层的父层,而 clear 主要是用在浮动层与浮动层之间,和浮动层同一级,如果想要撑开父层的高度,clear 就要放在最后。

当前比较常用的

.clearfix:after{content:'\20';display:block;height:0;clear:both}
.clearfix{zoom:1}
.clear{clear:both;height:0;line-height:0;font-size:0;visibility:hidden;overflow:hidden}

很难说明这两个方法哪个更好,只能说具体需求具体对待。

以上这篇浅谈css清除浮动(clearfix和clear)的用法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

 
HTML / CSS 相关文章推荐
html5+css3气泡组件的实现
Nov 21 HTML / CSS
CSS3实现王者荣耀匹配人员加载页面的方法
Apr 16 HTML / CSS
CSS3 @media的基本用法总结
Sep 10 HTML / CSS
使用HTML5 Canvas绘制直线或折线等线条的方法讲解
Mar 14 HTML / CSS
HTML5中canvas中的beginPath()和closePath()的重要性
Aug 24 HTML / CSS
canvas实现有递增动画的环形进度条的实现方法
Jul 10 HTML / CSS
一款html5 canvas实现的图片玻璃碎片特效
Sep 11 HTML / CSS
使用HTML5 Canvas API绘制弧线的教程
Mar 22 HTML / CSS
详解HTML5中rel属性的prefetch预加载功能使用
May 06 HTML / CSS
HTML5实现签到 功能
Oct 09 HTML / CSS
canvas绘图按照contain或者cover方式适配并居中显示
Feb 18 HTML / CSS
AmazeUI中模态框的实现
Aug 19 HTML / CSS
clear 万能清除浮动(clearfix:after)
May 21 #HTML / CSS
css之clearfix的用法深入理解(必看篇)
May 21 #HTML / CSS
CSS中calc(100%-100px)不加空格不生效
May 07 #HTML / CSS
HTML中link标签属性的具体用法
May 07 #HTML / CSS
css弧边选项卡的项目实践
May 07 #HTML / CSS
HTML5中的DOCUMENT.VISIBILITYSTATE属性详解
May 07 #HTML / CSS
CSS实现鼠标悬浮动画特效
You might like
解决checkbox的attr(checked)一直为undefined问题
2014/06/16 Javascript
jQuery分组选择器用法实例
2014/12/23 Javascript
基于JS实现无缝滚动思路及代码分享
2016/06/07 Javascript
jQuery操作cookie
2016/08/08 Javascript
canvas实现十二星座星空图
2017/02/14 Javascript
ie下js不执行的几种可能
2017/02/28 Javascript
ionic环境配置及问题详解
2017/06/27 Javascript
9种改善AngularJS性能的方法
2017/11/28 Javascript
微信小程序实现美团菜单
2018/06/06 Javascript
详解vuex commit保存数据技巧
2018/12/25 Javascript
详解一个基于react+webpack的多页面应用配置
2019/01/21 Javascript
Vue中Table组件行内右键菜单实现方法(基于 vue + AntDesign)
2019/11/21 Javascript
浅谈JavaScript中你可能不知道URL构造函数的属性
2020/07/13 Javascript
js实现盒子移动动画效果
2020/08/09 Javascript
js实现前端界面导航栏下拉列表
2020/08/27 Javascript
解决ant design vue 表格a-table二次封装,slots渲染的问题
2020/10/28 Javascript
Element-ui upload上传文件限制的解决方法
2021/01/22 Javascript
使用Python进行新浪微博的mid和url互相转换实例(10进制和62进制互算)
2014/04/25 Python
给Python初学者的一些编程技巧
2015/04/03 Python
Python实现mysql数据库更新表数据接口的功能
2017/11/19 Python
详解python中的线程
2018/02/10 Python
python绘制散点图并标记序号的方法
2018/12/11 Python
PyQt5+requests实现车票查询工具
2019/01/21 Python
让你的Python代码实现类型提示功能
2019/11/19 Python
关于sys.stdout和print的区别详解
2019/12/05 Python
对Tensorflow中tensorboard日志的生成与显示详解
2020/02/04 Python
Django中从mysql数据库中获取数据传到echarts方式
2020/04/07 Python
2014年计算机专业个人自我评价
2014/01/19 职场文书
领导干部群众路线教育实践活动剖析材料
2014/10/10 职场文书
2015年植树节活动总结
2015/02/06 职场文书
匿名检举信范文
2015/03/02 职场文书
客户付款通知书
2015/04/23 职场文书
农业项目合作意向书
2015/05/08 职场文书
【海涛教你打DOTA】黑鸟第一视角解说
2022/04/01 DOTA
为什么MySQL8新特性会修改自增主键属性
2022/04/18 MySQL
mysql查看表结构的三种方法总结
2022/07/07 MySQL