27、clear

介绍

本文是在学习CSS时做的学习笔记,所有笔记内容为 CSS学习笔记

clear

<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>meta</title>
</head>
<style>
div{
    font-size:50px;
}
.box1{
    width:200px;
    height:200px;
    background-color:#bfa;
    float:left
}
.box2{
    width:400px;
    height:400px;
    background-color:#ff0;
    float:right;
}
.box3{
    width:200px;
    height:200px;
    background-color:orange;
    
    由于box1、box2的浮动,导致box3位置上移
         也就是box3受到了box1、box2浮动的影响,位置发生了改变
      
      如果我们不希望某个元素因为其它元素浮动的影响而改变位置
        可以使用clear属性来清除浮动元素对当前元素所产生的影响  
      
      clear
         -作用,清除浮动元素对当前元素所产生的影响
         - 可选值,
            left  清除左侧浮动元素对当前元素的影响
            right 清除右侧浮动元素对当前元素的影响 
            both  清除两侧中最大影响的那侧 
         原理:
            设置清除浮动以后,浏览器会自动为元素添加一个上外边距
               使其位置不受其它元素的影响                 
 
   clear:both;
}

</style>
<body>
<div class="box1">1</div>
<div class="box2">2</div>
<div class="box3">3</div>
</body>
</html>

clear 解决高度塌陷

<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>meta</title>
</head>
<style>
.box1{
    border:10px red solid;
    // 可以开启BFC
    // overflow:hidden;
}
.box2{
    width:100px;
    height:100px;
    backgrund-color:#bfa;
    float:left;
}
// 使用伪元素代替
//.box3{
    // 清除浮动元素对其影响,使得box1需要包裹住box3,撑起了box1
    // clear:both;
// }
// 伪元素默认为行内元素
box1::after{
    content:'';
      // 清除浮动元素对其影响,使得box1需要包裹住box3,撑起了box1
    clear:both;
    display:block;// 设置为块元素
}

</style>
<body>
<div class="box1">
    <div class="box2"></div>
    // <div class="box3"></div> 可以使用after 伪元素替换
</div>

</body>
</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值