2009-08-09 58 views
0

我刚刚开始建立一个网站,只是充实了CSS。IE臭虫 - 背景颜色和位置

两个问题:

  1. 我使用RGBA得到一个透明的背景,并使用一个透明的PNG在旧的浏览器来模拟此。我使用的级联是这样的:

    rule { 
        background: url(/media/img/white_0.9_pixel.png); 
        background: rgba(255, 255, 255, 0.9); 
    } 
    

在IE浏览器这样的背景下不覆盖整个它们应用到...任何想法,为什么部分?

  1. 下拉菜单在IE中放置不正确。我将它定位绝对,但增加了一个保证金,将它推到Webkit的正确位置 - 猜测这是对齐下拉列表的错误方法,并且它不适用于所有浏览器。有什么建议吗?

非常感谢 - 在这里写下问题可以帮助我思考!

链接到网站:http://bit.ly/11GGCx

回答

1

哪个版本的IE表现出的问题?

  1. 与许多IE错误一样,尝试给layout添加不正确渲染背景的元素。

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

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

你指定了background-repeat?

0

你用CSS不透明概念试过吗?

尝试下面的代码。

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背景。

试试这个。希望这可以帮助