-3

我需要将对象向右对齐。我让它在除 IE6 之外的所有浏览器上都能正常工作。如何在 css 中完成这项工作?这是我的CSS:

.object {
position:fixed;
right:0;
left:auto;
}

我的问题是:如何通过编辑 css 文件将对象对齐到 IE6 中?

4

2 回答 2

2

正如 Moose 所解释的,固定定位在 IE6 中不起作用。正如他所介绍的,您必须对 IE6 使用绝对定位。

比 HTML 条件注释更好,我建议使用* htmlhack 来隔离只有 IE 才能看到的 CSS 属性。这更优雅,并允许您在 CSS 文件中保持代码清洁和排序。

问题是,如果您.myclass { /* css properties */ }的样式表中有,并且稍后* html .myclass { /* css properties */ },在两个块中定义的属性将在第二个块中被所有浏览器忽略(这是因为选择器的属性是相同的,并且它位于之后在文件中)。但是 Internet Explorer 计算属性的方式不同,* html在选择器中实际上确实赋予了它更高的属性。

这样,您可以拥有这种代码:

.myclass {
    position: fixed;
    right: 0;
}

* html myclass {
    /* Only IE */
    position: absolute;
}

此处解释了完整的解决方法。

于 2013-01-20T19:58:20.447 回答
0

不幸position:fixed的是,在 IE6 中无法识别,但您可以进行修复。

尝试将此作为条件注释添加到您的 HTML 中。

<!--[if IE 6]>
    html, body {
        height: 100%;   
        overflow: auto; 
        }
    body .object {
        position: absolute;
        bottom: 0;
        }
<![endif]-->
于 2013-01-20T19:38:16.763 回答