首页 > 其他分享 >css清除浮动

css清除浮动

时间:2023-06-03 22:55:20浏览次数:34  
标签:浮动 clearfix 清除 元素 background left css 200px

1、为什么清除浮动

  当子元素浮动时其父元素没有高度(比如列表页,父元素需要通过子元素的数量来确定高度),这时就会影响标准流父元素下面元素的布局,那么我们就需要清除浮动了。示例:

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .box {
            /*父元素没有给高度*/
            width: 1200px;
            background-color: antiquewhite;
        }

        /*left和right两个子元素都设置了左浮动*/
        .left {
            float: left;
            width: 200px;
            height: 200px;
            background-color: red;
        }

        .right {
            float: left;
            width: 200px;
            height: 200px;
            background-color: blue;
        }

        .footer {
            /*box元素没有高度,且其left和right两个子元素设置了浮动,此时该底部元素会跑到left和right元素下方,且box元素高度为0*/
            width: 1200px;
            height: 200px;
            background-color: aqua;
        }
    </style>
</head>

<body>
    <div class="box clearfix">
        <div class="left"></div>
        <div class="right"></div>
    </div>
    <div class="footer"></div>
</body>

</html>

清除浮动之前页面效果如下:(由于父元素box没有设置高度,所以当子元素浮动后父元素的高度为0,也就显示不出来了)

2、清除浮动的本质就是清除浮动元素造成的影响

3、清除浮动的策略就是闭合浮动

4、清除浮动的方式

a、额外标签法---会在浮动元素的末尾添加一个空的标签。如下:

<div style="clear:both"></div>

b、父级元素添加overflow属性

/*可以合并边框,也可以清除浮动*/
overflow:hidden

c、父级元素添加after伪元素---在后面堵住盒子

.clearfix::after {
    content: "";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
}

.clearfix {
    /*IE6、7专有*/
    *zoom: 1;
}

d、父级元素添加双伪元素---前后都堵住盒子

.clearfix:before,
.clearfix:after{
    content:"";
    display:table;
}
.clearfix:after{
    clear:both;
}
.clearfix{
    *zoom:1;
}

完整示例:

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .clearfix::before,
        .clearfix::after {
            content: "";
            display: table;
        }

        .clearfix::after {
            clear: both;
        }

        .clearfix {
            /*IE6、7专有*/
            *zoom: 1;
        }

        .box {
            width: 1200px;
            background-color: antiquewhite;
        }

        .left {
            float: left;
            width: 200px;
            height: 200px;
            background-color: red;
        }

        .right {
            float: left;
            width: 200px;
            height: 200px;
            background-color: blue;
        }

        .footer {
            width: 1200px;
            height: 200px;
            background-color: aqua;
        }
    </style>
</head>

<body>
    <div class="box clearfix">
        <div class="left">我是左盒子</div>
        <div class="right">我是右盒子</div>
    </div>
    <div class="footer">我是底部盒子</div>
</body>

</html>

清除浮动后页面效果展示:

标签:浮动,clearfix,清除,元素,background,left,css,200px
From: https://www.cnblogs.com/af88/p/17454747.html

相关文章

  • html+css简单易懂的轮播图实现
    实现轮播图感觉好复杂啊,这个比较简单的实现了但是还是没有怎么理解代码,只能先发出来慢慢学习学习了话不多说,直接上代码<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metahttp-equiv="X-UA-Compatible"content="IE=edge">......
  • CSSYZ Algorithm Round #2
    [ABC192F]Potion分析设选择的总和为\(sum\)。不难发现:\(x\%k=sum\%k\)。又因为:\(ans=(x-sum)/k\)。不难发现\(sum\)只与\(\%k\)有关,且当\(k\)一定时,\(sum\)越大,\(ans\)越小。因为\(k\)的值域很小,显然可以对于每一个\(k\),用01背包求解出\(\%k\)意义下的最大\(sum\)。计......
  • Vue进阶(幺零八):npm run build 错误 (node:7852) UnhandledPromiseRejectionWarning: Cs
    (文章目录)一、前言在项目打包过程中,突然报如下错误:Vuenpmrunbuild错误(node:7852)UnhandledPromiseRejectionWarning:CssSyntaxError:xxxx.但是在执行npmrundev过程中,并未错误或告警信息。二、解决方案打开webpack.prod.conf.js,注释掉以下配置代码newOptimiz......
  • 野指针得生成、危害、清除
    1、野指针得概念::指针指向的位置不可知的(随机、不正确、没有明确限制的)2、野指针生成的三种情况1、指针未定义,就进行*p相关操作2、指针越界访问,知道指向哪,但不是有效值3、指针指向的空间释放(函数的变量作用范围在函数内,返回函数内定义的指针到主函数是无效的,已经被......
  • 优秀的CSS布局大全
    这份列表收集一些比较优秀的CSS布局,这些布局都免费供个人和商业使用。当然,你使用之前还是得看版权说明,也许会发生许可协议变更。LayoutGala-这个网站收集了40多个专业的CSS布局,每个布局都通过了CSS和HTML验证,且不需要Hack,兼容各大主流浏览器。CSSLayouts –另一个专门收集CSS......
  • CSS---写三角形
    我们在做项目开发的时候,经常会遇到需要三角小按钮,如果不引入图片和字体,其实用样式也是可以写处理的。具体示例:.div{width:50px;height:50px;border-left:50pxsolidred;border-right:50pxsolidyellow;border-top:50pxsolidblue;border-bottom:50pxsolidgreen......
  • CSS 第8天
    CSS第8天复习定位 position​ relative top,left,right,bottom 子绝父相​ absolute 居中​ fixed​ 遮盖 1,2​ z-index 拼爹浏览器hack​ htmlhack ​ csshack​ 值hack ie6-_ 7! 8|9\0 678910\9​ 选择器hack 6*htlm 7selector......
  • 如何在JavaFX中使用CSS
    如何在JavaFX中使用CSSCSS用于定制用户界面的显示样式。JavaFX也可以通过css文件来支持CSS。对于JavaFX中的元素,有的会有默认的规则,我们对这个规则设置CSS样式,就可以修改其关联的元素的显示效果。比如,Label控件关联的规则名是.label,如果我们在CSS文件中加入:.lab......
  • CSS的五种定位方式【哪一种脱离文档流】
    元素自身居中(非内容)块级元素居中:margin:0auto;行内元素和行内块元素:给上级元素添加text-align:center; 定位方式包括:静态定位相对定位绝对定位固定定位浮动定位静态定位(文档流定位)格式:position:static;(默认的定位方式)......
  • 聊聊CSS 缓动函数的新成员linear()
    CSS缓动函数是一种用于控制CSS动画过渡效果的函数,可以让动画变得更加自然。这篇文章将介绍一种新的CSSeasingfunction,即linear(),它可以模拟出更复杂的缓动效果,文中demo请在chrome113+中观看。什么是easingfunction?在动画中,有一种叫做“缓动效果”的技术,它可以让动画变......