zoukankan      html  css  js  c++  java
  • CSS清浮动方法总结

    浮动----会使当前标签产生上浮效果,从而导致父标签高度塌陷的问题

    1. 给父元素指定高度

      <div style="height:200px">

        <div style="float:right"></div>

      </div>

      简单粗暴!高度不定时,如果内部高度大于父级时,容易产生问题

    2. 在浮动元素后边添加额外标签

      <div>

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

      </div>

      其他<p> <br/>标签也可以

      会产生空标签,导致代码混乱,不易维护,且代码的直观感觉很不好

    3. 给父标签添加 overflow:hidden;zoom:1 或者 overflow:hidden;98% 样式

      <div style="overflow:hidden; zoom:1">

        <div style="float:right"></div>

      </div>

      添加 zoom:1 是为了兼容IE6,zoom 和 width 二者必有一个,但是不能设置height值,浏览器能够自动获取浮动区域高度,

      且不能与position一同使用,因为会引起超出尺寸的隐藏问题。

    4. 给父标签设置 overflow:auto

      <div style="overflow:auto; zoom:1">

        <div style="float:right"></div>

      </div>

      与 3 基本相同,只引起的问题是若内部高度高出父级时会出现滚轴

    5. 给父元素添加浮动,大家一起变成一个整体的浮动块

      <div style="float:left; zoom:1">

        <div style="float:right"></div>

      </div>

      会引起新的浮动问题

    6. 给父标签添加 display:table

      <div style="display:table; zoom:1">

        <div style="float:right"></div>

      </div>

       父级div属性变成表格,可能会引起其他位置问题

    7. 给父标签添加绝对定位

      <div style="position:absolute; zoom:1">

        <div style="float:right"></div>

      </div>

      与 5 原理相通,都是将父元素脱离原始文本流,导致的问题也可能相似,可依旧使用该方法予以解决

    8. 给父标签定义伪类 :after ,和zoom:1

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

      .clearfix {zoom:1}

      <div class="clearfix">

        <div style="float:right"></div>

      </div>

      IE8以上和非IE浏览器才支持:after,zoom:1可解决浏览器兼容问题

  • 相关阅读:
    1657: [Usaco2006 Mar]Mooo 奶牛的歌声
    1610: [Usaco2008 Feb]Line连线游戏
    1660: [Usaco2006 Nov]Bad Hair Day 乱发节
    bzoj1207 [HNOI2004]打鼹鼠
    bzoj1046 [HAOI2007]上升序列
    bzoj3594 [Scoi2014]方伯伯的玉米田
    bzoj1878 [SDOI2009]HH的项链
    bzoj1293 [SCOI2009]生日礼物
    bzoj3211 花神游历各国
    bzoj3038 上帝造题的七分钟2
  • 原文地址:https://www.cnblogs.com/s-qiu/p/7095478.html
Copyright © 2011-2022 走看看