2011-06-29 86 views
7

由於某種原因,我無法使用IE9在我的CSS中使用rgba工作。我已經使用Chrome對其進行了測試,並且工作正常。不知道有什麼問題。rgba在IE9中不工作

我的HTML是:

<!doctype html> 

<html lang="en"> 
    <head> 
     <meta charset="utf-8" /> 

     <title><?php bloginfo('name'); ?> - <?php bloginfo('description'); ?></title> 

     <link href="<?php bloginfo('stylesheet_url'); ?>" rel="stylesheet" type="text/css" /> 
     <link href="http://fonts.googleapis.com/css?family=Raleway:100&v1" rel="stylesheet" type="text/css" /> 

     <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></script> 
    </head> 
    <body> 
     <?php wp_nav_menu(); ?> 
    </body> 
</html> 

我的CSS是:

body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td{margin:0;padding:0;}table{border-collapse:collapse;border-spacing:0;}fieldset,img{border:0;}address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;font-weight:normal;}li{list-style:none;}caption,th{text-align:left;}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;}q:before,q:after{content:'';}abbr,acronym{border:0;font-variant:normal;}sup{vertical-align:text-top;}sub{vertical-align:text-bottom;}input,textarea,select{font-family:inherit;font-size:inherit;font-weight:inherit;}input,textarea,select{*font-size:100%;}legend{color:#000;} 

body { 
    font-size: 62.5%; 
} 

.menu { 
    font-size: 5em; 
    font-family: 'Raleway', arial, serif; 
} 

.menu ul li a { 
    background: rgba(0,0,0,0.5); 
    text-decoration: none; 
} 
+0

不知何故,您的網站不顯示在IE9標準模式。發佈到您的網站的實時鏈接,我將能夠找到原因。 – thirtydot

回答

3

嗯,我找到了原因。似乎「兼容性視圖」已啓用,因此我禁用了它,並且,瞧。當我想單擊刷新按鈕時,我可能點擊了它。

13

新標準在Internet Explorer 9的支持需要瀏覽器是Internet Explorer 9的標準模式(「IE9模式」 )。這樣做的最好方法是使用standard!DOCTYPE指令並且不使用X-UA兼容元標記或HTTP標頭。調用IE9模式的!DOCTYPE如下:

<!DOCTYPE html> 

background-color: rgba(0,0,0,0.5); 
+0

好的......但不應該IE9支持簡寫屬性上的'rgba()'呢? – BoltClock

+0

從技術上說速記應該可以工作,但它可能暴露IE CSS解析器中的錯誤。 – SpliFF

+0

我試過了,它仍然無法工作。 – cvandal

0

我在ie9中遇到背景顏色問題。在用google-fu瀏覽解決方案後,我意識到我正在使用這個破解特定div中所有CSS的border-radius.htc。不僅僅是背景顏色,還有邊框和字體顏色。它被這樣使用:

<style> 
     .ie-rounded-corner{behavior: url(../include/stylesheets/border-radius.htc); } 
    </style> 

    <div class="ie-rounded-corner">Hello World</div> 

我使用邊界半徑黑客對IE6/7/8的一些元素添加圓角。這打破了IE9的頁面。刪除該類後,IE9中的所有內容都按預期工作。我的圓角現在已經在ie6/7/8中消失了。傳統IE瀏覽器現在可能需要不同的解決方案。