CSS浮动与清除浮动

浮动以及清除浮动的方法

通过学习我们可以把一个网页看成是有不同的盒子所组成,大部分的HTML标签就是一个盒子。使用浮动,定位可以是不同的盒子排列成我们想要的网页布局。一个完整的网页是有标准流,浮动,定位所结合布局形成。

标准流

块元素,行元素,行内块元素标签实现网页元素从上到下,从左到右排列

浮动

可以使块级元素左右排列或者一行显示,多个块级盒子水平显示就用浮动布局

定位

定位的最大特点是有层叠的概念,就是可以让多个盒子相互叠压来显示,如果元素自由在某个盒子内移动就使用定位布局

浮动:是使网页元素脱离标准流的一种布局形式。主要应用场景是使块级元素从左到右水平排列,或者是制作文字环绕图片的效果。

语法格式:float:left|right

<head>
    <style>
    .box{
            width: 1100px;
            height: 300px;
            background-color: burlywood;
        }
     .item{
            float: left;
            width: 200px;
            height: 300px;
            margin-right: 5px;
            background-color: cadetblue;
        }
     .box div:nth-child(odd){
            background-color: chartreuse;
        }
    </style>
</head>
<body>
    <div class="box">
         <div class="item">1</div>
         <div class="item">2</div>
         <div class="item">3</div>
         <div class="item">4</div>
         <div class="item">5</div>  
	</div>
</body>

在标准文档流中,5个类名是item的小盒子本来是从上往下垂直排列并且嵌套在类名是box的大盒子中;由于,我们给.item设置了左浮动(float:left;),故每一个以.item为类名的div从左到右水平排列。

注意:浮动的元素不在占有自己原来的位置。

浮动带来的影响

元素设置浮动之后,会对设置了浮动元素之后的元素产生相应的影响。

<style>
        .box{
            width: 1100px;
            background-color: turquoise;
        }
        .item{
            float: left;
            width: 200px;
            height: 200px;
            background-color: violet;
        }
        .box .item:nth-child(odd){
            background-color: yellowgreen;
        }
        .content{
            width: 300px;
            height: 300px;
            background-color: tomato;
        }
</style>
<div class="box">
        <div class="item">1</div>
        <div class="item">2</div>
        <div class="item">3</div>
        <div class="item">4</div>
        <div class="item">5</div>
    </div>
    <div class="content"></div>

在本案例中,以.item为类名的五个div设置了左浮动,设置了浮动的元素都脱离了标准流的布局模式,简称脱标;在标准流的布局模式中,.box的高度会由.item的内容所撑起,由于我们给.item设置了左浮动,.box的所有子元素脱标,所以.box的高度为0px。只有.box和.content在标准流的布局模式中,所以.content在页面的左上角排列。

在这里插入图片描述

清除浮动的方法

清除浮动:就是清除浮动带来的影响

清楚浮动的方法:

  1. 给浮动元素的父元素设置高度
  2. 隔墙法也称额外标签法,会在页面中增加额外的空标签
  3. overflow:hidden 给父元素添加
  4. 伪元素法
  5. 双伪元素法
<style>
        .box{
            width: 1200px;
            /* height: 240px; */
            border: 1px solid #333;
            /* overflow: hidden; */
        }
        .item{
            float: left;
            width: 200px;
            height: 200px;
        }
        .box div:nth-child(even){
            background-color: violet;
        }
        .box div:nth-child(odd){
            background-color: turquoise;
        }
        .box2{
            width: 1100px;
            height: 400px;
            background-color: tomato;
        }

        /* 隔墙法(额外标签法) */
        /* .clearfix{
            clear: both;
        } */

        /* 
        xx::after伪元素选择器,
        它类似于一个行标签,
        可以把它当作标签去使用 
        .clearfix::after{
            content:'';
            display: block;
            clear: both;
            visibility: hidden;
            height: 0;
        } 
        .clearfix{
             IE 6 7专有 
            *zoom: 1;
        }
        */
        
        /* 双伪元素 */
        .clearfix::before,
        .clearfix::after{
            content: '';
            display: table;
        }
        .clearfix::after{
            clear: both;
        }
        .clearfix{
            /* IE6 7专有 */
            *zoom: 1;
        }
    </style>
</head>
<body>
     <div class="box clearfix">
         <div class="item">1</div>
         <div class="item">2</div>
         <div class="item">3</div>
         <div class="item">4</div>
         <div class="item">5</div>
         <!-- <div class="clearfix"></div> -->
     </div>
     <div class="box2"></div>
</body>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值