• 问题:FF中把UL下的LI设为左浮动UL的背景色就没有了?


    因为容器的子元素设置浮动后, 内容移出了文档流! 

    解决办法: 
    1.给个overflow:hidden;作为闭合浮动元素
    2.设定UL 一个固定的高度

    下面是一些与之相关的解决办法,参考文章《那些年一起清除过的浮动》
    <
    style type="text/css"> .warp{ width:80%; border:1px solid #000000; } .main{ width:70%; height:300px; background-color:#999933; float:left; } .side{ width:22%; height:300px; background-color:#66CC33; float:right; } #footer{ width:80%; height:80px; background-color:#0000FF; } </style> </head> <body> <div class="warp"> <h2>1)添加额外标签</h2> <div class="main">main</div> <div class="side">side</div> <div style="clear:both;"></div> </div> <div id="footer"></div> </body>

    没有添加红色代码前:

    添加红色代码后:

    2:<br clear="all"/>

    在红色代码处放上如上代码,效果一样

    br 有 clear=“all | left | right | none” 属性

    3:父元素设置overflow:hidden;(在IE6中还需要触发 hasLayout ,例如 zoom:1)

    <body>
    <div class="warp" style="overflow:hidden;*zoom:1;">
    <h2>3)父元素设置overflow</h2>
    <div class="main">main</div>
    <div class="side">side</div>
    </div>
    <div id="footer"></div>
    </body>

    其余代码如第一个例子,效果都一样

    缺点:内容增多时候容易造成不会自动换行导致内容被隐藏掉,无法显示需要溢出的元素;04年POPO就发现overflow:hidden会导致中键失效

    4)父元素设置 overflow:auto 属性

    同样IE6需要触发hasLayout

    缺点:多个嵌套后,firefox某些情况会造成内容全选;IE中 mouseover 造成宽度改变时会出现最外层模块有滚动条等,firefox早期版本会无故产生focus等

    5)父元素也设置浮动

    针对上例,让footer清除浮动clear:both;否则

    缺点:使得与父元素相邻的元素的布局会受到影响,不可能一直浮动到body,不推荐使用

    6)父元素设置display:table

    缺点:盒模型属性已经改变,由此造成的一系列问题,得不偿失,不推荐使用

    7)使用:after 伪元素

    由于IE6-7不支持:after,使用 zoom:1触发 hasLayout

    原文全部代码如下:

    <style type="text/css">  .clearfix:after {  content: "."; display: block; height: 0; clear: both; visibility: hidden;  }   .clearfix {display: inline-block;}  /* for IE/Mac */   </style> <!--[if IE]> <style type="text/css"> .clearfix {zoom: 1;/* triggers hasLayout */  display: block;/* resets display for IE/Win */} </style>  <![endif]-->  鉴于 IE/Mac的市场占有率极低,我们直接忽略掉,最后精简的代码如下:

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

    .clearfix { *zoom:1; }

    优点:结构和语义化完全正确,代码量居中

    缺点:复用方式不当会造成代码量增加

  • 相关阅读:
    移动文件夹时,千万别直接移动系统文件夹,应该直接复制或者移动这个系统文件夹内的内容
    UIView的intrinsicContentSize方法,在按钮中重写
    Reveal v4(8796) 使用
    AppCode 2016.3 注册码
    BSD process name correspondlng to current thread: knernel_task Mac OS version Not yet set
    iOS 适配HTTPS
    [Graphics] UIColor created with component values far outside the expected range, Set a breakpoint on UIColorBreakForOutOfRangeColorComponents to debug. This message will only be logged once.
    SB中设置UITextField 无边框,真机上输入汉字聚焦时,文字 下沉
    TTTAttributedLabel 富文本小记
    iOS 应用数据存储的常用方式
  • 原文地址:https://www.cnblogs.com/919czzl/p/4709332.html
Copyright © 2020-2023  润新知