zoukankan      html  css  js  c++  java
  • ie6 div height bug css注意点(转)

    所有浏览器的定位都大同小异,在各个浏览器兼容性问题,要了解各个浏览器的定位区别就可以了。 比如,当用float浮动时,同时设置margin或padding在IE6中会是双倍的值。即你设置为margin:10px;那么在IE6里就相当于margin:20px;  出现这样的问题往往会早成定位偏移。你参考相关兼容性的相关注意点就可以了。多点动手写。   

    ①  IE6下默认的字体尺寸大致在 12 – 14px 之间,当你试图定义一个高度小于这个默认值的 div 的时候, IE 会固执的认为这个层的高度不应该小于字体的行高。所以即使你用 height:4px; 来定义了一个 div 的高度,实际在 IE 下显示的仍然是一个 12 px 左右高度的层。添加overflow: hidden; 解决问题。
    <div style=”height: 4px; overflow: hidden;”></div>

    ②  应该多加一个属性:font-size:0px;就可以了.

     

    ③  

    首先要看DIV有无内容,然后才会决定谁影响其高度:

    1. 当DIV为一个空标签的时候:DIV有一个默认的高度(大约20px左右吧),如果hiehgt的值小于这个数字,DIV不会有任何反应,大于则可以控制;而line-height在这儿根本没有用,因为没有内容,所以也就不存在行高了。
    2. 当 DIV标签内有内容时(哪怕是一个&nbsp;):DIV的高度依然是默认的(依旧是20px左右),而这时候的height仍然只能 设置大于这个数的值,否则DIV不会受控制;但是,这时候却可以使用line-height来控制DIV的高度,准确来说是控制DIV内的内容行高,使 DIV受行高的变化而变化。
      不过,如果你设置了height的值,那么当line-height小于height的值的时候,DIV取的是height的 值;如果line-height大于height的值,那这时候影响DIV高度的就是line-height的值了。

    在其它的浏览器就不会出现这个问题,也就是说line-height大于height的时候,DIV的高度依旧是height,最多是看不见内容,但DIV的高度不会被line-height所控制。

    期间有一个朋友评论说“使用overflow:hidden;第二种情况也是由height来控制了”:嘿嘿,试了一下,的确如此,当DIV的高度被line-height撑高的时候,使用overflow:hidden;则会使超出DIV高度那部份的内容不可见,从而使DIV的高度受hiehgt控制。

  • 相关阅读:
    iframe显示高度自适应 兼容多浏览器
    Asp.Net在Global.asax中实现URL 的重写
    文件流下载 ASP.NET
    Asp.Net实现全局定时器功能
    C#中获取本机IP地址,子网掩码,网关地址
    Asp.Net缓存实例
    Google API 天气数据缓存到一个XML中
    获取服务器信息
    C# NET 中英混合字符串截断实例
    Asp.Net实现长文章分页显示功能
  • 原文地址:https://www.cnblogs.com/zhihaowang/p/10128446.html
Copyright © 2011-2022 走看看