IE错误 - 背景颜色和定位

时间:2009-08-09 18:09:26

标签: css internet-explorer

我刚刚开始建立一个网站,而且只是充实了css。

两个问题:

  1. 我正在使用rgba来获得透明背景,并使用透明的png在旧版浏览器中模拟它。我正在使用这样的级联:

    rule {
        background: url(/media/img/white_0.9_pixel.png);
        background: rgba(255, 255, 255, 0.9);
    }
    
  2. 在IE中,这些背景并没有涵盖它们适用的所有部分......任何想法为什么?

    1. 下拉菜单错误地放在IE中。我绝对定位它,但添加一个余量将它推到Webkit的正确位置 - 猜测这是一种错误的方式来对齐下拉,并且它不能跨浏览器工作。那里有什么建议吗?
    2. 非常感谢 - 只是在这里写问题有助于我思考!

      指向该网站的链接:http://bit.ly/11GGCx

3 个答案:

答案 0 :(得分:1)

哪些IE版本存在问题?

  1. 与许多IE错误一样,尝试将layout提供给背景不正确的元素。

  2. 如果未指定绝对定位元素的“left”属性,则IE很少生成所需的值。根据CSS 2.1规范,“left”应设置为static position,但浏览器可以猜测这个位置,因此最好是明确的。标准方法是给菜单项相对定位,为每个子菜单创建containing block,并为子菜单设置“top”和“left”。

    .nav li {
        position: relative;
        /* note: don't set a box offset (e.g. "left") here */
    }
    .nav ul {
        position: absolute;
        top: 1em;
        left: 0;
    }
    

答案 1 :(得分:0)

您是否指定了背景重复?

答案 2 :(得分:0)

您是否尝试过使用css opacity概念?

请尝试以下代码。

rule {
background: #fff;
opacity: .5; 
-moz-opacity: 0.5;
-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)"; /* for IE8 *//* Comes First to apply optacity in all ie versions*/
filter: alpha(opacity=50); /* for IE5-7 *//* Comes second to apply opacity in all ie versions*/
}

注意:请勿更改上述行的顺序。另外我建议不要使用rgba背景。

试试这个。希望这有帮助