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

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

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. django 常用 import

    from django.shortcuts import HttpResponse, render, redirect def yimi(request): #直接返回页面内容 return Http ...

  2. Linux之lrzsz命令的安装

    Linux之lrzsz命令的安装 1. lrzsz简介 什么是lrzsz? lrzsz是一款在linux里可代替ftp上传和下载的程序.在linux里可代替ftp上传和下载 rz:上传文件到服务器 s ...

  3. Codeforces Round #420 (Div. 2) - A

    题目链接:http://codeforces.com/contest/821/problem/A 题意:给定一个n*n的矩阵. 问你这个矩阵是否满足矩阵里的元素除了1以外,其他元素都可以在该元素的行和 ...

  4. Java并发(基础知识)—— Java中断机制

    上文讲解了Java线程的创建.启动以及停止,在讲到停止线程时说到了Java中断,Java中断是停止线程的一种协作机制,本文打算对Java中断机制进行详细讲解. 在网上搜索Java中断机制,发现两篇好文 ...

  5. java Scanner输入数字、字符串

    package java05; import java.util.Scanner;//1.导包 /* Scanner类的功能,可以实现键盘输入数据,到程序当中 引用类型的一班使用步骤: 1.导包 2. ...

  6. HTML5 canvas绘制图片

    demo.js window.onload=function() { createcanvas(); drawImage(); } function createcanvas() { var CANV ...

  7. python基础:4.请至少列举5个 PEP8 规范(越多越好)。

    1.变量命名规则: 不能与关键字重名,必须以数字字母下划线组成,且不能以数字开头 2.导包规则: # 推荐这样写 import random import sys # 不推荐这样写 import ra ...

  8. maven仓库mirrors

    <mirrors> <mirror> <id>alimaven</id> <name>aliyun maven</name> & ...

  9. 人生苦短_我用Python_javascript_var_function_简单笔记_001

    <!--Javascript_var_001:--> <html> <head> <meta charset="UTF-8"> &l ...

  10. thread 类详解

    java.lang.Thread类详解 一.前言 位于java.lang包下的Thread类是非常重要的线程类,它实现了Runnable接口,今天我们来学习一下Thread类,在学习Thread类之前 ...