2011-08-15 133 views
0

有結構。廣告是相對定位的。 div.ad中的所有其他div都定位於絕對位置。IE6絕對定位

左上角,左下角,右上角,右下角樣式看起來應該如此。但是「內部」,「左」,「右」,「頂部」和「底部」風格不起作用。
左邊,右邊沒有特定的高度和頂部,底部沒有特定的寬度和裏面都沒有因爲div.ad的高度和寬度可擴展。

及其對IE 7,8,9歌劇10.50+,Chrome和Firefox

工作

現代瀏覽器截圖http://i56.tinypic.com/2ia8tj5.png
IE6截圖http://i54.tinypic.com/2yozvar.png

<div class="ad"> 
    <div class="bottom"></div> 
    <div class="top-left"></div> 
    <div class="left"></div> 
    <div class="bottom-left"></div> 
    <div class="top"></div> 
    <div class="inside"></div> 
    <div class="top-right"></div> 
    <div class="right"></div> 
    <div class="bottom-right"></div> 
</div> 

.ad { 
    color: #606060; 
    position: relative; 
    padding: 12px; 
    min-height: 55px; 
    min-width: 246px; 
    margin: 0 0 10px 0; 
} 
/*Side Start*/ 
.top { 
    top: 0; 
    left: 11px; 
    right: 10px; 
    position: absolute; 
    height: 11px; 
} 
.right { 
    top: 11px; 
    right: 0; 
    bottom: 9px; 
    position: absolute; 
    width: 10px; 
} 
.bottom { 
    bottom: 0; 
    left: 11px; 
    right: 10px; 
    position: absolute; 
    height: 9px; 
} 
.left { 
    left: 0; 
    top: 11px; 
    bottom: 9px; 
    position: absolute; 
    width: 11px; 
} 
/*Side End*/ 
.inside { 
    position: absolute; 
    background-color: #f7f6f6; 
    top: 11px; 
    right: 10px; 
    bottom: 9px; 
    left: 11px; 
} 
/*Corners Start*/ 
.top-left { 
    top: 0; 
    left: 0; 
    position: absolute; 
    background-image: url('/images/DiseaseAds/border-top-left.png'); 
    background-repeat: no-repeat; 
    width: 11px; 
    height: 11px; 
} 
.top-right { 
    right: 0; 
    top: 0; 
    position: absolute; 
    width: 10px; 
    height: 11px; 
} 
.bottom-left { 
    bottom: 0; 
    left: 0; 
    position: absolute; 
    width: 11px; 
    height: 9px; 
} 
.bottom-right { 
    bottom: 0; 
    right: 0; 
    position: absolute; 
    width: 10px; 
    height: 9px; 
} 
/*Corners End*/ 
+1

這不回答你的問題的說明,但如果你需要使用IE6向後可比性,你只是在做花哨的邊界,有時會回落到美好的舊

標籤很容易,因爲他們把工作做好,更容易瞭解過時的瀏覽器中複雜的CSS框模型。 –

回答

1

IE6不支持。您可以使用CSS表達式達到同樣的效果,但它是緩慢的,需要的腳本啓用:

left: 11px; 
width: expression((this.parentNode.offsetWidth - 11 - 10) + 'px'); 

您可以使用「sliding doors」技術以獲得基於圖像的頂部或底部邊框沒有儘可能多元素和沒有腳本;總之左手角和頂部是主要的div和右側的背景是一個小的絕對定位的div的背景。

+0

它的作品,但不是使用CSS表達式。我寧願寫一般的JavaScript來做到這一點。 http://developer.yahoo.com/blogs/ydn/posts/2007/07/high_performanc_6/ –

0

heightwidth更換min-heightmin-width性能。 IE6不支持min-*max-*屬性,所以.ad當前沒有設置任何維度。這也給.ad的「layout」是什麼意思,你就能夠將其孩子rightbottom性質正確定位。左,右一個元素上,或者頂部和底部

+0

這不起作用。我更新了問題添加的屏幕截圖。 –