我们在对页面进行布局的时候经常会用到浮动布局,浮动布局能够很好的实现我们想要的布局效果,同时兼容方面也是很好的,但是当我们在用左右浮动进行页面布局的时候,由于元素浮动脱了了文档流导致浮动元素的父级高度塌陷而导致元素到高度不是我们理想的状态,在这个时候我们就要使用清除浮动的方法来让父元素的高度能够正常按照预期显示;

我们在清除浮动的时候有很多种实现方法,下面我列举一些常用的清楚浮动的方法:

1、给父元素添加overflow:hidden;这是一个最简单最粗暴的清除浮动的方式;

  优点:代码简单只需要一个css属性就能搞定;

  缺点:也很明显,由于给父元素设置了多余截取,导致想实现一些效果无法正常工作,比如说添加鼠标经过自定义的提示样式;

 <!-- html部分 -->
<div class="box">
<div class="left">left</div>
<div class="right">right</div>
</div>
<!-- css部分 -->
<style>
.left{
float: left;
height: 300px;
}
.right{
float: right;
height: 400px;
}
.box{
overflow:hidden;
}
.clear{
clear: both;
}
</style>
2、在父级的最后添加一个空元素,然后给空元素设置clear:both;

  优点:理解简单,同时兼容也不错;

  缺点:就是多增加了一个多余的元素,代码成本高;

 <!-- html部分 -->
<div class="box">
<div class="left">left</div>
<div class="right">right</div>
<div class="clear"></div>
</div>
<style>
.left{
float: left;
height: 300px;
}
.right{
float: right;
height: 400px;
}
.clear{
clear: both;
}
</style>
3、通过父级的伪元素来实现:after或者是::after

  优点:不用额外增加标签元素,同事也解决了方法一种的不足;

  缺点:理解起来不容易,兼容方面ie8以上浏览器支持伪元素选择器单冒号形式

 <!--html-->
<div class="box">
<div class="left">left</div>
<div class="right">right</div>
</div>
<!--css-->
<style>
.left{
float: left;
height: 300px;
}
.right{
float: right;
height: 400px;
}
.box:after{
content: '';
clear: both;
display: table;
}
</style>

关于清除浮动的n中方式的更多相关文章

  1. 【css】清除浮动的几种方式

    [css]清除浮动的几种方式   因为浮动框不在普通的文档流中,所以它不占据空间.如下面的代码: .news { background-color:gray; border:1px solid bla ...

  2. css考核点整理(一)-浮动的理解和清除浮动的几种方式

    浮动的理解和清除浮动的几种方式 clear语法:clear : none | left | right | both 取值:none : 默认值.允许两边都可以有浮动对象left : 不允许左边有浮动 ...

  3. 前端老司机常用的方法CSS如何清除浮动?清除浮动的几种方式

    在前端开发过程中,我们经常会使用到浮动(float),这个我们即爱又恨的属性.爱,是因为通过浮动,我们能很方便地进行布局:恨,是因为浮动之后遗留下来太多的问题需要解决.下面本篇文章给大家介绍CSS清除 ...

  4. CSS中清除浮动的两种方式

    在CSS中,父元素中的子元素如果使用了float,会导致父元素塌陷,高度为0. 对于这种情况,常见的解决方式有两种. 一.增加新的div,应用clear:both属性 html: <div cl ...

  5. css清除浮动的两种方式(clearfix和clear)

    最近总是在用浮动,这两种方式总是浮现在眼前,或者说去掉父级和同级浮动样式总在思考中.两种方式怎么写都在base.css中. 在做瑞祥之旅的过程中,还是吃了一个大亏,就是清除浮动,不管是同级还是父级,都 ...

  6. CSS清除浮动的几种方式

    浮动对页面的影响: 如果一个父盒子中有一个子盒子,并且父盒子没有设置高,子盒子在父盒子中进行了浮动,那么将来父盒子的高度为0.由于父盒子的高度为0, 下面的元素会自动补位,所以这个时候要进行浮动的清除 ...

  7. css_清除浮动的4种方式

    浮动布局和定位布局为css中布局的常用的两种布局方式,而且兼容性会比较好.随着flex的流行,以后会是主流,新的东西好用,兼容不太好.IE10以下不兼容flex布局. float布局会脱离文档流,对页 ...

  8. css浮动产生和清除浮动的几种方式

    浮动的语法:float:left/right; 浮动float的原本设计了作用初衷是为了实现文字环绕效果 浮动产生负作用: 1.背景不能显示 2.边框不能撑开父元素 3.margin padding设 ...

  9. css清除浮动的几种方式,哪种最合适?

    细心的人可能发现了,写的导航条中存在一个问题,那就是使用了float之后,父级盒子的高度变为0了. 我们来写一个例子来看一下,创建一个父级div,并设置border属性,然后下边创建两个子元素span ...

随机推荐

  1. 2019-1-24-WPF-文字描边

    title author date CreateTime categories WPF 文字描边 lindexi 2019-01-24 19:47:18 +0800 2019-1-24 19:40:7 ...

  2. raw, SOCK_RAW - Linux IPv4 raw socket.

    总 览 #include <sys/socket.h> #include <netinet/in.h> raw_socket = socket(PF_INET, SOCK_RA ...

  3. 【LeetCode】贪心 greedy(共38题)

    [44]Wildcard Matching [45]Jump Game II (2018年11月28日,算法群衍生题) 题目背景和 55 一样的,问我能到达最后一个index的话,最少走几步. 题解: ...

  4. Sass函数:unit()函数

    unit() 函数主要是用来获取一个值所使用的单位,碰到复杂的计算时,其能根据运算得到一个“多单位组合”的值,不过只充许乘.除运算: >> unit(100) "" & ...

  5. 字符串函数-unquote()函数

    字符串函数顾名思意是用来处理字符串的函数.Sass 的字符串函数主要包括两个函数: unquote($string):删除字符串中的引号: quote($string):给字符串添加引号. 1.unq ...

  6. linux下载网页上的文件夹以及删除文件(stream)

    wget -nd -r -l1 --no-parent http://www.cs.virginia.edu/stream/FTP/Code/ 注:-nd 不创建目录:-r 递归下载:-l1只下载当前 ...

  7. java上传附件含有%处理或url含有%(URLDecoder: Illegal hex characters in escape (%) pattern - For input string)

    在附件名称中含有%的时候,上传附件进行url编码解析的时候会出错,抛出异常: Exception in thread "main" java.lang.IllegalArgumen ...

  8. PHP 利用 curl 发送 post get del put patch 请求

    因为需要在 php 开发中对接其它接口需要用 php curl 去对接其它接口 我把他们封装成函数 希望能对大家有所帮助. 这里面是封装好的会自动把 data 进行转成 json 格式,同时解码成 p ...

  9. LVS负载均衡中arp_ignore和arp_annonuce参数配置

    先简单的介绍下关于LVS负载均衡 LVS(Linux  Virtual Server)Linux服务器集群系统 针对高可伸缩,高可用服务的需求,给予IP层和内容请求分发的负载均衡调度解决方法,并在Li ...

  10. <三剑客> 老三:grep命令用法

    grep(global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正 ...