css什么时候清除浮动

css中,当我们对元素进行float浮动时就需要清除浮动,因为当元素进行浮动时,元素就会脱离文档流;并且在css中任何元素都可以浮动,浮动元素会生成一个块级框,而不论它本身是何种元素。

css什么时候清除浮动

推荐:《css基础教程》

清除浮动,什么时候需要清除浮动,清除浮动都有哪些方法 ?
一.什么时候需要清除浮动?

我们对元素进行了浮动(float)时,我们的元素就会脱离文档流,像一只小船一样漂流在文档之上。

在 CSS 中,任何元素都可以浮动。浮动元素会生成一个块级框,而不论它本身是何种元素。
float主要流行与页面布局,然后没有使用后没有清除浮动,就会后患无穷。

立即学习“前端免费学习笔记(深入)”;

知乎上截图:
这里写图片描述

分析HTML代码结构:

1

2

3

分析CSS代码样式:

.outer{border: 1px solid #ccc;background: #fc9;color: #fff; margin: 50px auto;padding: 50px;}.p1{width: 80px;height: 80px;background: red;float: left;}.p2{width: 80px;height: 80px;background: blue;float: left;}.p3{width: 80px;height: 80px;background: sienna;float: left;}

这里写图片描述

这里我没有给最外层的p.outer 设置高度,但是我们知道如果它里面的元素不浮动的话,那么这个外层的高是会自动被撑开的。但是当内层元素浮动后,就出现了影响

1、父盒子的margin受到影响,无法实现左右居中,
2、我没有给父盒子设置高度,浮动后父盒子的高度没有被撑开,图片中撑开的高度是padding带来的效果。

这里写图片描述

清除浮动都有哪些方法 ?
清除(clear)也有4个可能值。最常用的是 both,清楚左右两边的浮动。left 和 right 只能清楚一个方向的浮动。none 是默认值。

方法一:添加新的元素 应用 clear:both;
HTML:

1

2

3

CSS:

.clear{clear:both; height: 0; line-height: 0; font-size: 0}

效果:
这里写图片描述
即:
这里写图片描述
【补充】:
使用空标签清除浮动.
这里写图片描述

这里写图片描述
方法二:父级p定义 overflow: auto(注意:是父级p也就是这里的 p.outer)

HTML:

//这里添加了一个class

1

2

3

<!--

-->

CSS:

.over-flow{    overflow: auto; zoom: 1; //zoom: 1; 是在处理兼容性问题}

效果图同上。

原理:使用overflow属性来清除浮动有一点需要注意,overflow属性共有三个属性值:hidden,auto,visible。我们可以使用hiddent和auto值来清除浮动,但切记不能使用visible值,如果使用这个值将无法达到清除浮动效果,其他两个值都可以。

【补充】:
使用overflow属性
此方法有效地解决了通过空标签元素清除浮动而不得不增加无意代码的弊端。使用该方法是只需在需要清除浮动的元素中定义CSS属性:overflow:auto,即可。 overflow:auto;是让高度自适应,zoom:1;是为了兼容IE6,也可以用height:1%;的方式来解决,注意,zoom不符合W3C标准。overflow:hidden也可以实现。overflow:hidden也可以实现。
这里写图片描述

这里写图片描述

方法三: 据说是最高大上的方法 :after 方法:(注意:作用于浮动元素的父亲)
先说原理:它就是利用:after和:before来在元素内部插入两个元素块,从而达到清除浮动的效果。其实现原理类似于clear:both方法,只是区别在于:clear在html插入一个p.clear标签,而outer利用其伪类clear:after在元素内部增加一个类似于p.clear的效果。下面来看看其具体的使用方法:

.outer {zoom:1;}    /*==for IE6/7 Maxthon2==*/.outer:after {clear:both;content:'.';display:block;width: 0;height: 0;visibility:hidden;}   /*==for FF/chrome/opera/IE8==*/

其中clear:both;指清除所有浮动;content: ‘.’; display:block;对于FF/chrome/opera/IE8不能缺少,
其中content()可以取值也可以为空。visibility:hidden;的作用是允许浏览器渲染它,但是不显示出来,这样才能实现清楚浮动。
即:

.outer{border: 1px solid #ccc;background: #fc9;color: #fff; margin: 50px auto;padding: 50px;} .clearfix:after {content:'';display:block;clear:both;visibility:hidden;zoom:1;}
 

【补充】:

使用after伪对象清除浮动

after伪对象非IE浏览器支持,所以并不影响到IE/WIN浏览器。具体写法可参照以下示例。使用中需注意以下几点。

a、该方法中必须为需要清除浮动元素的伪对象中设置height:0,否则该元素会比实际高出若干像素;

b、content属性是必须的,但其值可以为空,蓝色理想讨论该方法的时候content属性的值设为”.”

再次again:当一个内层元素是浮动的时候,如果没有关闭浮动时,其父元素也就不会再包含这个浮动的内层元素,因为此时浮动元素已经脱离了文档流。也就是为什么外层不能被撑开了!

浮动的特点:
1.浮动的元素,讲向左或者向右浮动,浮动到包围元素的边上,或者上一个浮动元素的边上为止。

2.浮动的元素,不再占用空间,且浮动元素的层级要高于普通元素。

3.浮动的元素,一定是块元素,不管之前是什么元素。

4.如果浮动的元素没有指定宽度的话,浮动后会尽可能变窄,因此浮动元素要指定宽和高。

5.一行的多个元素,要浮动大家一起浮动。

以上就是css什么时候清除浮动的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1616223.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月24日 05:17:50
下一篇 2025年12月24日 05:18:03

相关推荐

  • css伪类分为哪几种

    css伪类分为UI伪类和结构化伪类两种。UI伪类分为链接伪类、focus伪类和target伪类。结构化伪类分为【:first-child】、【:last-child】和【:nth-child】。 CSS伪类分两种: 1、UI伪类:会在HTML元素处于某种状态时(比如鼠标指针位于连接上),为该元素应用…

    好文分享 2025年12月24日
    000
  • css怎么在图片上加阴影

    css在图片上加阴影的方法:可以利用box-shadow属性来添加阴影,如【box-shadow: 10px 10px 10px rgba(0,0,0,.5);】。box-shadow属性可以设置一个或多个下拉阴影的框。 属性介绍: box-shadow属性可以设置一个或多个下拉阴影的框。 (学习视…

    好文分享 2025年12月24日
    000
  • css怎么给图片加上下边框

    css给图片加上下边框的方法:可以利用border-top属性和border-bottom属性来添加上下边框,如【border-bottom:thick dotted;border-top:thick double;】。 border-bottom 简写属性把下边框的所有属性设置到一个声明中。 (学…

    2025年12月24日
    000
  • css文件中引用图片不显示怎么办

    css文件中引用图片不显示的解决方法:1、确保图片路径书写正确;2、设置图片成块显示;3、指定图片的宽和高。正确代码如:【display:block;width: 25px;height: 21px;】。 解决思路: 1、确保路径正确 2、成块显示 3、指定宽高 立即学习“前端免费学习笔记(深入)”…

    2025年12月24日
    000
  • css列表怎么横着排列

    css列表横着排列的方法:可以利用【display:inline】属性把【】标签设定为内联元素来实现横向排列效果。display属性规定了元素应该生成的框的类型。 思路: 设定 标签的display:inline,把设定为内联元素来实现横向排列的效果。 (推荐教程:css视频教程) 属性介绍: 立即…

    2025年12月24日
    000
  • css怎么才能让字等距分开

    css让字等距分开的方法:可以利用letter-spacing属性来实现,如【letter-spacing:10px;】。letter-spacing属性用于增加或减少字符间的空白(字符间距)。 letter-spacing 属性增加或减少字符间的空白(字符间距)。 (视频教程推荐:css视频教程)…

    2025年12月24日
    000
  • CSS中link什么意思

    CSS中link是指CSS链接,不同的链接可以有不同的样式,而链接的样式可以用任何CSS属性,其链接状态有4种,分别是:1、“a:link”;2、“a:visited”;3、“a:hover”;4、“a:active”。 本教程操作环境:windows10系统、css3,本文适用于所有品牌的电脑。 …

    2025年12月24日
    000
  • css怎么给文字添加描边

    css给文字添加描边的方法:可以利用text-shadow属性来给文字添加描边,如【text-shadow: 0 0 5px #FF0000, 0 0 5px #6bf403;】。text-shadow属性应用于阴影文本。 属性介绍: text-shadow 属性应用于阴影文本。 (学习视频分享:c…

    2025年12月24日
    000
  • css calc()有啥用

    css calc()的作用是动态计算长度值,该函数允许我们在属性值中执行数学操作,使用语法如“.foo {  width: calc(100px + 50px);}”,该语句表示指定一个元素宽的固定像素值为多个数值的和。 推荐:《css视频教程》 css3的calc() 函数用于动态计算长度值。 c…

    2025年12月24日
    000
  • css为什么要放在头部呢

    css放在头部的原因:这样会先加载css的样式,在渲染dom的时候已经知道了自己的样式,所以渲染一次即可成功。这种方式可以防止闪跳、白屏或者布局混乱的现象发生。 分析: 这样会先加载css的样式,在渲染dom的时候已经知道了自己的样式了,所以一次渲染即可成功,这样可以防止闪跳、白屏或者布局混乱的现象…

    2025年12月24日
    000
  • css中的弹性布局是什么

    css中的弹性布局是一种当页面需要适应不同的屏幕大小以及设备类型时确保元素拥有恰当的行为的布局方式。引入弹性布局模型的目的是提供一种更有效的方式来对一个容器的子元素进行排列、对齐和分配空白空间。 弹性布局介绍: 弹性盒子是 CSS3 的一种新的布局模式。 (学习视频分享:css视频教程) CSS3 …

    2025年12月24日
    000
  • css怎么把正方形变成圆形

    css把正方形变成圆形的方法:可以利用border-radius属性来实现,如【border-radius:150px】。border-radius属性允许我们为元素添加圆角边框。 本教程操作环境:windows10系统、css3,本文适用于所有品牌的电脑。 属性介绍: border-radius …

    2025年12月24日 好文分享
    000
  • css如何将图片等比缩放

    css将图片等比缩放的方法:可以利用object-fit属性来实现,如【object-fit: cover;】。object-fit属性指定元素的内容应该如何去适应指定容器的高度和宽度。 属性介绍: object-fit 属性指定元素的内容应该如何去适应指定容器的高度与宽度。 (学习视频分享:css…

    2025年12月24日
    000
  • css如何实现圆形进度条

    css实现圆形进度条的方法:首先画一个方形;然后在方形中画两个等大均分方形的矩形;最后使用css3的“transform:rotate”属性将叠加环形根据实际百分比换算成实际的旋转角度即可。 推荐:《css视频教程》 进度条效果如下: 整圆的效果处理会简单些,不完整环实现起来细节多点。下边是实现逻辑…

    2025年12月24日 好文分享
    000
  • css怎么设置不能选中文字

    css设置不能选中文字的方法:可以利用user-select属性来进行设置,如【user-select:none】。user-select属性是css3中新增的,用来控制内容的可选择性。 属性介绍: user-select是在css3 UI规范中新增的一个功能,用来控制内容的可选择性。 (学习视频分…

    2025年12月24日
    000
  • css中的流体布局是什么

    css中的流体布局是指当网页缩小或放大时,网页布局会随着浏览器的大小而改变。流体布局的优势是如果用户的窗口很小,页面就会收缩以适应窗口,而不必横向滚动。 流体布局: 简单来说就是网页缩小和放大时网页布局会随着浏览器的大小而改变! (学习视频分享:css视频教程) 优势: 立即学习“前端免费学习笔记(…

    2025年12月24日
    000
  • css中如何给整个页面添加背景颜色

    css中给整个页面添加背景颜色的方法:可以利用background-color属性来添加背景颜色,如【background-color:yellow;】。background-color属性用于设置一个元素的背景颜色。 background-color属性设置一个元素的背景颜色。 元素的背景是元素的…

    2025年12月24日
    000
  • css目标伪类是什么

    在css中,目标伪类是“:target”,语法格式“E:target{css样式}”,它表示选择匹配E的所有元素,且匹配元素被相关URL指向;该选择器是动态选择器,只有当存在URL指向该匹配元素时,样式效果才能够有效。 (推荐教程:CSS视频教程) 在css中,目标伪类选择器是“:target”,是…

    2025年12月24日
    000
  • css中width有啥属性?

    css中width相关的属性有:width属性、min-width属性、max-width属性、border-width属性、outline-width属性、column-rule-width属性、column-width属性等等。 css中width相关的属性 width属性:设置元素的宽度 mi…

    2025年12月24日
    000
  • css如何让图片和文字垂直居中对齐

    css让图片和文字垂直居中对齐的方法:可以通过flex布局来实现,如【display: -webkit-flex;】。flex布局即弹性布局,用来为盒状模型提供最大的灵活性。任何一个容器都可以指定为flex布局。 可以使用flex布局实现居中(更简单,不支持IE9)。 (学习视频推荐:css视频教程…

    2025年12月24日
    000

发表回复

登录后才能评论
关注微信