2009-10-14 68 views
1

我一直在撞牆我的頭幾個小時如何試圖解決這個問題。我試圖將一個div放在另一個div的上面,目的是讓另一個在另一個之上。該div將有一個圖像和其他一些html。我不能在ie8中工作不透明。我已經簡化我的HTML儘可能:不透明在即使用絕對定位的div不工作

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" 
    "http://www.w3.org/TR/html4/strict.dtd"> 
<html> 
<head> 

<style> 

    * { margin: 0; padding: 0; } 

    .carousel-container { 
    position: relative; 
    } 

    .carousel-overlay { 
    position: absolute; 
    } 

    #carousel-container-a { 
    opacity: 1; 
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; 
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100); 
    } 

    #carousel-container-b { 
    opacity: 0; 
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; 
    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);  
    } 

    h1 { font-size: 100px; } 


</style> 

</head> 
<body> 


<div id="carousel-container-a" class="carousel-container"> 
    <div class="carousel-overlay" style="left: 10px; top: 10px;"> 
    <h1 style="color: black;">Showcase</h1> 
    </div> 
    <!-- other elements removed for simplicity --> 
</div> 
<div id="carousel-container-b" class="carousel-container"> 
    <div class="carousel-overlay" style="left: 20px; top: 20px;"> 
    <h1 style="color: red;">Welcome</h1> 
    </div> 
    <!-- other elements removed for simplicity --> 
</div> 


</body> 
</html> 

爲什麼不透明度的工作?我怎樣才能使它工作?

回答

0

嘗試將haslayout應用於元素。

#carousel-container a { zoom:1; } 

寬度/高度/內嵌塊和其他一些工作也將起作用。

1

這給一個鏡頭:

-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
opacity: 0;

這融入了IE7和IE8這兩個語句。這應該爲您正確處理不透明度。雖然這與您已經使用的類似,但我重新排列了這些陳述。據微軟稱,你必須首先列出新的擴展格式,然後再列出舊的設置。這除了CSS不透明度設置。