iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >使用css怎么清除浮动
  • 115
分享到

使用css怎么清除浮动

2023-06-08 07:06:01 115人浏览 薄情痞子
摘要

这期内容当中小编将会给大家带来有关使用CSS怎么清除浮动,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。本文的框架图如下:一、浮动到底是什么?W3school中给出的浮动定义为浮动的框可以向左或向右移动,直

这期内容当中小编将会给大家带来有关使用CSS怎么清除浮动,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

本文的框架图如下:

使用css怎么清除浮动

一、浮动到底是什么?

W3school中给出的浮动定义为浮动的框可以向左或向右移动,直到它的外边缘碰到包含框或另一个浮动框的边框为止。由于浮动框脱离文档的普通流中,所以文档的普通流中的块框表现得就像浮动框不存在一样。

使用css怎么清除浮动

在非IE浏览器(如Firefox)下,当容器的高度为auto,且容器的内容中有浮动(float为left或right)的元素,在这种情况下,容器的高度不能自动伸长以适应内容的高度,使得内容溢出到容器外面而影响(甚至破坏)布局的现象。这个现象叫浮动溢出,为了防止这个现象的出现而进行的CSS处理,就叫CSS清除浮动。
 

二、浮动有什么特点?

浮动的特点,可以用八个字总结:脱标、贴边、字围和收缩。

为了更好说明,请看下图:
当框 1 向左浮动时,它脱离文档流(脱标)并且向左移动(贴边),直到它的左边缘碰到包含框的左边缘。因为它不再处于文档流中,所以它不占据空间,实际上覆盖住了框 2,使框 2 从视图中消失。如果框2中有文字,就会围着框1排开(字围)。

如果把所有三个框都向左浮动,那么框 1 向左浮动直到碰到包含框,另外两个框向左浮动直到碰到前一个浮动框。

使用css怎么清除浮动

下面着重讲解下第四个特点--收缩

一个浮动的内联元素(比如span img标签)不需要设置display:block就可以设置宽度。

<style>        div{            float: left;            background-color: greenyellow;        }    </style></head><body><div>    这是一段文字</div></body>

得到以下的效果:

使用css怎么清除浮动

我们都知道div标签是块级元素,会独占一行,然而上面的例子中将div设置为左浮后,其宽度不再是占满一行,而是收紧为内部元素的宽度,这就是浮动第四个特征的含义。

三、浮动有什么缺点?

先看下面这段代码:

 <style>      .parent{          border: solid 5px;          width:300px;      }      .child:nth-child(1){          height: 100px;          width: 100px;          background-color: yellow;          float: left;      }      .child:nth-child(2){          height: 100px;          width: 100px;          background-color: red;          float: left;      }      .child:nth-child(3){          height: 100px;          width: 100px;          background-color: greenyellow;          float: left;      }    </style></head><body><div class="parent">    <div class="child"></div>    <div class="child"></div>    <div class="child"></div></div></body>

我们想让父容器包裹着三个浮动元素,然而事与愿违,得到却是这样的结果:

使用css怎么清除浮动

这就是浮动带来副作用----父容器高度塌陷,于是清理浮动就显着至关重要。

四、如何清理浮动?

清除浮动不是不用浮动,清除浮动产生的父容器高度塌陷。

套路1:给浮动元素的父元素添加高度(扩展性不好)

如果一个元素要浮动,那么它的父元素一定要有高度。高度的盒子,才能关住浮动。可以通过直接给父元素设置height,实际应用中我们不大可能给所有的盒子加高度,不仅麻烦,并且不能适应页面的快速变化;另外一种,父容器的高度可以通过内容撑开(比如img图片),实际当中此方法用的比较多。

套路2:clear:both;

在最后一个子元素新添加最后一个冗余元素,然后将其设置clear:both,这样就可以清除浮动。这里强调一点,即在父级元素末尾添加的元素必须是一个块级元素,否则无法撑起父级元素高度。

<div id="wrap">        <div id="inner"></div>        <div style="clear: both;"></div>    </div>
  #wrap{          border: 1px solid;    }    #inner{          float: left;          width: 200px;          height: 200px;          background: pink;    }

套路3:伪元素清除浮动

上面那种办法固然可以清除浮动,但是我们不想在页面中添加这些没有意义的冗余元素,此时如何清除浮动吗?
结合 :after 伪元素和 IEhack ,可以完美兼容当前主流的各大浏览器,这里的 IEhack 指的是触发 hasLayout。

<div id="wrap" class="clearfix">    <div id="inner"></div></div>
   #wrap {        border: 1px solid;      }      #inner {        float: left;        width: 200px;        height: 200px;        background: pink;      }            .clearfix {        *zoom: 1;      }            .clearfix:after {        content: '';        display: block;        clear: both;        height:0;        line-height:0;        visibility:hidden;//允许浏览器渲染它,但是不显示出来      }

给浮动元素的父容器添加一个clearfix的class,然后给这个class添加一个:after伪元素,实现元素末尾添加一个看不见的块元素来清理浮动。这是通用的清理浮动方案,推荐使用

套路4:给父元素使用overflow:hidden;

这种方案让父容器形成了BFC(块级格式上下文),而BFC可以包含浮动,通常用来解决浮动父元素高度坍塌的问题。

BFC的触发方式

我们可以给父元素添加以下属性来触发BFC:

  • float 为 left | right

  • overflow 为 hidden | auto | scorll

  • display 为 table-cell | table-caption | inline-block

  • position 为 absolute | fixed

这里可以给父元素设置overflow:auto,但是为了兼容IE最好使用overflow:hidden。

但这种办法有个缺陷:如果有内容出了盒子,用这种方法就会把多的部分裁切掉,所以这时候不能使用。

BFC的主要特征:

  • BFC容器是一个隔离的容器,和其他元素互不干扰;所以我们可以用触发两个元素的BFC来解决垂直边距折叠问题。

  • BFC不会重叠浮动元素

  • BFC可以包含浮动,这可以清除浮动。套路5:br标签清浮动

br标签存在一个属性:clear。这个属性就是能够清除浮动的利器,在br标签中设置属性clear,并赋值all。即能清除掉浮动。

<div id="wrap">      <div id="inner"></div>      <br clear="all" />    </div>
   #wrap {        border: 1px solid;      }      #inner {        float: left;        width: 200px;        height: 200px;        background: pink;      }

上述就是小编为大家分享的使用css怎么清除浮动了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注编程网精选频道。

--结束END--

本文标题: 使用css怎么清除浮动

本文链接: https://www.lsjlt.com/news/252702.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 使用css怎么清除浮动
    这期内容当中小编将会给大家带来有关使用css怎么清除浮动,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。本文的框架图如下:一、浮动到底是什么?W3school中给出的浮动定义为浮动的框可以向左或向右移动,直...
    99+
    2023-06-08
  • css怎么清除浮动
    今天小编给大家分享一下css怎么清除浮动的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。 ...
    99+
    2024-04-02
  • CSS中怎么使用clearfix清除浮动
    这篇文章主要介绍“CSS中怎么使用clearfix清除浮动”,在日常操作中,相信很多人在CSS中怎么使用clearfix清除浮动问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”...
    99+
    2024-04-02
  • html+css怎么清除浮动
    本篇内容介绍了“html+css怎么清除浮动”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!浮动会使当前标签...
    99+
    2024-04-02
  • css要怎么清除浮动
    这篇文章给大家分享的是有关css要怎么清除浮动的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 css清除浮动的方法:1、浮动代码后添加一个设置了“cl...
    99+
    2024-04-02
  • css中怎么清除浮动
    这篇文章给大家介绍css中怎么清除浮动,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。1、【.clr{clear:both;}】,设置了clear属性的元素,其上边框会紧贴着浮动元素的m...
    99+
    2024-04-02
  • CSS怎么清除浮动行
    这篇文章主要介绍“CSS怎么清除浮动行”,在日常操作中,相信很多人在CSS怎么清除浮动行问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”CSS怎么清除浮动行”的疑惑有所帮助!接...
    99+
    2024-04-02
  • css怎么利用:after清除浮动
    这篇文章主要介绍css怎么利用:after清除浮动,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!css的三种引入方式1.行内样式,最直接最简单的一种,直接对HTML标签使用style=""。2.内...
    99+
    2023-06-14
  • Css怎么实现清除浮动
    小编给大家分享一下Css怎么实现清除浮动,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!清除浮动影响的几种方法: 给父级元素设置高度效果图:代码: <style>   &n...
    99+
    2023-06-08
  • CSS浮动和清除浮动:掌握浮动和清除浮动的技巧
    CSS浮动和清除浮动:掌握浮动和清除浮动的技巧,需要具体代码示例在网页设计和开发中,CSS浮动(float)是常见的布局技术之一。使用浮动可以将元素向左或者向右移动,从而实现元素在页面中的位置调整和排列。然而,浮动元素也会给页面造成一些问题...
    99+
    2023-11-18
    CSS 浮动 清除浮动
  • CSS怎么清除浮动布局
    这篇文章主要介绍“CSS怎么清除浮动布局”,在日常操作中,相信很多人在CSS怎么清除浮动布局问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”CSS怎么清除浮动布局”的疑惑有所帮...
    99+
    2024-04-02
  • CSS的clear:both清除浮动怎么运用
    这篇文章主要介绍了CSS的clear:both清除浮动怎么运用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇CSS的clear:both清除浮动怎么运用文章都会有所收获,下面我...
    99+
    2024-04-02
  • CSS怎么实现元素浮动和清除浮动
    这篇文章主要介绍CSS怎么实现元素浮动和清除浮动,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!浮动基本介绍在标准文档流中元素分为2种,块级元素和行内元素,如果想让一些元素既要有块级元素的特点也同时保留行内元素特点,只...
    99+
    2023-06-08
  • 如何使用css实现清除浮动
    这篇文章主要介绍如何使用css实现清除浮动,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!清除浮动的方法:1、父级div定义height,语法“height:高度”;2、结尾处加空div并设置“clear:both”样...
    99+
    2023-06-14
  • 怎么在CSS中使用clear属性清除浮动
    这期内容当中小编将会给大家带来有关怎么在CSS中使用clear属性清除浮动,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。什么是CSS清除浮动? 网络上流行的说法是:在非IE浏览器(如Firefox)下,当...
    99+
    2023-06-08
  • 怎么在css中使用clearfix和clear清除浮动
    怎么在css中使用clearfix和clear清除浮动?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。<!DOCTYPE HTML>&nbs...
    99+
    2023-06-08
  • 怎么在CSS中使用overflow属性清除浮动
    本篇文章为大家展示了怎么在CSS中使用overflow属性清除浮动,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。overflow清除浮动以下面的XHTML代码为例:XML/HTML Code复制内容...
    99+
    2023-06-09
  • 怎么在css中使用clearfix属性清除浮动
    本篇文章为大家展示了怎么在css中使用clearfix属性清除浮动,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。clearfix的定义: 代码如下:.clearfix:after {}{ conte...
    99+
    2023-06-09
  • 怎么在CSS中使用伪元素清除浮动
    本篇文章为大家展示了怎么在CSS中使用伪元素清除浮动,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。css的三种引入方式1.行内样式,最直接最简单的一种,直接对HTML标签使用style="...
    99+
    2023-06-08
  • css清除浮动语法怎么写
    这篇文章给大家分享的是有关css清除浮动语法怎么写的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。清除浮动.clearfix:after{ content: '', h...
    99+
    2023-06-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作