问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

css清除浮动float的三种方法总结,为什么清浮动

发布网友 发布时间:2022-04-25 16:29

我来回答

4个回答

懂视网 时间:2022-04-28 15:48

本篇文章给大家带来的内容是关于css中flaot浮动的原因及带来的问题分析 ,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

flaot浮动的原因与副作用

float中的四个参数

left,right,none,inherit

float 浮动的原因

使用浮动之后,元素会脱离标准的文档流。(标准的文档流就是按照不同的元素种类,如块元素,行元素按照各自的特点去排列显示,虽然属性不同,但都是按照从上到下,从左到右的顺序进行排列)

float 浮动的副作用

  • 两个块级元素,会被浮动元素覆盖
    这里写图片描述

  • <style type="text/css">
     .box{
      border: 4px solid #000000; 
      width: 200px; 
      height: 200px; 
      display: inline-block; 
      }
     .itemSmall_1{
      background-color: chartreuse; 
      width: 40px; 
      height: 40px; 
      border: 2px solid #000000; 
      /* float: left; */
     }
     .itemSmall_2{
      background-color: chartreuse; 
      width: 40px; 
      height: 40px; 
      border: 2px solid #000000; 
      float: left; 
      }
     .itemBig{
      background-color: blue; 
      width: 150px; 
      height: 150px; 
      border: 2px solid #000000; 
      }
     </style><body>
     <div class="box">
     <div class="itemSmall_1">
    
     </div>
     <div class="itemBig">
    
     </div>
     </div>
     <div class="box">
     <div class="itemSmall_2">
    
     </div>
     <div class="itemBig">
    
     </div>
     </div>
     </body>

    *一个块元素,一个行内元素。行内元素如文字会浮动在浮动元素的周围,为浮动元素留出空间。
    这里写图片描述

    <style type="text/css">
     .box{
      border: 4px solid #000000; 
      width: 200px; 
      height: 200px; 
      display: inline-block; 
      vertical-align: top; 
      }
     .itemSmall_1{
      background-color: chartreuse; 
      width: 40px; 
      height: 40px; 
      border: 2px solid #000000; 
      /* float: left; */
     }
     .itemSmall_2{
      background-color: chartreuse; 
      width: 40px; 
      height: 40px; 
      border: 2px solid #000000; 
      float: left; 
      }
     .itemBig{
      background-color: blue; 
      width: 150px; 
      height: 150px; 
      border: 2px solid #000000; 
      }
     </style>
     <body>
     <div class="box">
     <div class="itemSmall_1">
     </div>
     <div class="itemBig">
     </div>
     </div>
    
     <div class="box">
     <div class="itemSmall_2">
     </div>
     行内元素行内元素行内元素行内元素行内元素行内元素行内元素行内元素行内元素行内元素行内元素行内元素行内元素行内元素行内元素行内元素 </div>
     </body>

    *两个块级元素浮动,出现父元素塌缩
    这里写图片描述

    <style type="text/css">
     .box{
      border: 4px solid #000000; 
      float: left; 
      }
    
     .itemSmall_2{
      background-color: chartreuse; 
      width: 40px; 
      height: 40px; 
      border: 2px solid #000000; 
      float: left; 
      } 
     .itemBig2{
      background-color: blue; 
      width: 150px; 
      height: 150px; 
      border: 2px solid #000000; 
      float: left; 
      }
     </style>
     <body>
     <div class="box">
     <div class="itemSmall_2">
     </div>
     <div class="itemBig2">
     </div>
     </div>
     </body>

    热心网友 时间:2022-04-28 12:56

    不清除浮动的话,浮动层后面的非浮动内容就有可能被浮动层所覆盖,造成版面错乱,所以必须清除浮动。除非浮动层所在的位置是有固定的高度的,也就是说不管是否浮动它所占用的区域都不变,这样就无需清除。比如:

    <div>
        <div style="float:left; width:100px; height:100px; background-color:#f00"></div>
    </div>
    <div style="width:200px; height:200px; background-color:#00f"></div>

    可以看到蓝色框会被红色框覆盖(IE6-9中则不会,因为它不是标准浏览器)。清除浮动以后就不会了:

    <div>
        <div style="float:left; width:100px; height:100px; background-color:#f00"></div>
        <div style="clear:both"></div>
    </div>
    <div style="width:200px; height:200px; background-color:#00f"></div>

    或者给浮动层预留位置:

    <div style="width:100px; height:100px">
        <div style="float:left; width:100px; height:100px; background-color:#f00"></div>
    </div>
    <div style="width:200px; height:200px; background-color:#00f"></div>

    热心网友 时间:2022-04-28 14:14

    我推荐一种方法去清浮动,特别简单。

    就是在要清浮动的地方加上:
    <div style="clear:both;"></div>
    即可。
    清除浮动的作用是:清除同行元素,不允许其它元素与之在一行内。

    PS:如果想深入研究,请参考https://segmentfault.com/a/1190000004237437

    热心网友 时间:2022-04-28 15:49

    其实究其原因,就两种原理清除与闭合,可以看下我写的这个思路可能会清楚一点https://juejin.im/post/5c5027c26fb9a049f912fa10
    声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
    土狗一般多大开始懂人性 如何训练 小土狗怎么训练才听话 新手训狗的好方法 跑跑卡丁车故事模式哪一关还海盗船长(人物)奖励的,骨灰玩家说下._百 ... 跑跑卡丁车手游被遗忘的炮塔的宝藏在哪_跑跑卡丁车手游被遗忘的炮塔的... 跑跑卡丁车手游在被遗忘的炮塔附近搜寻宝藏怎么做?遗忘炮塔宝藏攻略... 跑跑卡丁车手游被遗忘炮塔宝藏在哪 炮塔附近搜寻宝箱位置详解-新手攻略... 跑跑卡丁车被遗忘的炮塔附近宝藏在哪里_跑跑卡丁车被遗忘的炮塔附近宝藏... 跑跑卡丁车手游在遗忘的炮塔附近搜寻宝藏在哪 遗忘炮塔宝藏位置详解 迅捷路由器使用问题 ...MATLAB7.0的,程序总是在打开后一会,就自动关闭了。希望能帮忙哦,感... 社保怎样申请失业金 金吉拉出现软便的情况,该怎么解决? 梦见洗澡髁身被男子看到,包里装的钱差点被男子拿走 两地交的社保怎么领失业金 CSS中清除浮动是什么意思? 我家猫咪不停去小便,然而都是排不出尿了~几天了 我梦见我在洗澡,但是有男人在看。是怎么回事 猫猫不尿尿是什么原因 CSS浮动和清除浮动? 梦见洗澡有三个男人坐哪里看着我什么意思 怎么领取社保卡失业金? 猫咪一直上厕所但是尿不出来? 求问【css】清除浮动的几种方式 关于CSS清除浮动的几种方法 猫咪得了前列腺炎尿不出来怎么办? CSS清除浮动的几种方式 社保卡失业补助金怎么领取 社保卡失业补助金怎么领取 css清除浮动的几种方法 css中清除浮动的方法有哪些 梦到冼澡,很多男人看我 金吉拉猫猫二个半月大小便怎么训练? 从花鸟买回来的金吉拉,两个月金吉拉每次拉屎都很难,金吉拉每次拉屎很难拉不出. 在HTML5 CSS3中,请简述一下清除浮动的三种方法以及各自的优缺点?_百 ... 梦见我在盒里洗澡有很多男人看见了是什么意思 梦见自己过生日所有人都忘记了 社保领取失业金怎么领 社保领取失业金怎么领 html5和css篇有关浮动以及如何清除浮动 金吉拉公猫绝育拉尿带血尿频怎么办 晚上做梦梦见我差一点不忘了自己的生日 解梦 梦见自己洗完澡光的身子被男人看到了,然后俩个人接吻是什么意思? CSS中,什么叫清除浮动 猫咪尿不出,还尿血是怎么回事? 做梦梦见自己的生日当天给忘了 梦见自己洗澡出来穿衣服时被别的男人看见 CSS清除float浮动的常用几种方法 我家猫尿不出来,有医生没线没,很着急啊 做梦梦见错过了自己的生日? 梦见自己洗澡,有好多人看,