【问题标题】:top and left in IE6IE6 中的顶部和左侧
【发布时间】:2012-11-17 07:06:29
【问题描述】:

在 IE6 中调整顶部和左侧确实有问题,在所有剩余的浏览器中一切正常。

我有这个 CSS:

font-family: "Lucida Grande","Lucida Sans Unicode",Verdana,Arial,Helvetica,sans-serif;
font-size: 12px;
height: 590px;
left: 50px;
line-height: normal;
overflow: hidden;
position: relative;
text-align: left;
top: -42px;
width: 760px;
z-index: 0;

编辑

这个顶部和左侧我从 javascript 中得到它:

     function()
       {H(a,{left:0,top:0});g=a.getBoundingClientRect();H(a,{left:"50px",top:"-42px"})}

我没有用于放置代码的 css 文件,所以如果我更改顶部和高度,它不会在 IE6 中触发。 就像我什么都不做一样。

我想知道IE6是否不处理顶部和左侧?我该如何解决这个问题?

【问题讨论】:

    标签: css internet-explorer-6


    【解决方案1】:

    通常,为了让 IE6 能够正确呈现,页面上的 所有 块应该启用 hasLayout。我通常(大约在 2 年前的某个时候)通过在个人 IE6 样式表或“星号”hack 中使用height: 1px 来实现这一点:

    /* hasLayout is now on in IE6 for elements having `example` class. */
    * HTML .example {height: 1px; }
    

    但 IE6 目前不值得任何努力(我从 2011 年起根本不支持它,建议大家也这样做)。

    【讨论】:

    • 我也是,我有所有的 IE,但我能做什么。我的代码来自 javascript,我没有 css 文件来放置此代码。
    • 我会谦虚地建议放弃对 IE6 的支持。这可以使用带有基于 HTML 语义的独立简化样式表的 technique 优雅地实现。
    • 在仍然使用 IE6 的两个人中,我敢肯定有一个死了。
    【解决方案2】:

    尝试添加position:absolute 而不是relative。 IE6 通常很好地处理定位。不确定您是否在此 div 中使用绝对定位的子元素。

    编辑。

    如果您使用条件。例如

    <!--[if IE 6]>      <html class="ie6"> <![endif]-->
    

    只能在ie6中定位绝对定位。

    .ie6 .your-selector {
        position:absolute;
    }
    

    【讨论】:

    • 您是否在浏览器供应商的基础上使用 html 类?只针对 ie6 非常简单。
    • @peter 使用 conditional comments 为 IE 6 添加 CSS。
    • 我没有使用 html ,这个 css 来自 javascript 而不是 css 文件。或内联或样式,
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-27
    • 1970-01-01
    • 2011-06-22
    • 1970-01-01
    • 1970-01-01
    • 2012-05-02
    相关资源
    最近更新 更多