2010-01-17 54 views
1

這是我的CSS:這是一個CSS繼承問題?

.sub-content-border { 
background-image: url(/images/borders/sub-content/top.gif); 
background-repeat: repeat-x; 
background-position: top; 
} 
.sub-content-border div { 
background-image: url(/images/borders/sub-content/bottom.gif); 
background-repeat: repeat-x; 
background-position: bottom; 
} 
.sub-content-border div div { 
background-image: url(/images/borders/sub-content/left.gif); 
background-repeat: repeat-y; 
background-position: left; 
} 
.sub-content-border div div div { 
background-image: url(/images/borders/sub-content/right.gif); 
background-repeat: repeat-y; 
background-position: right; 
} 
.sub-content-border div div div div { 
background-image: url(/images/borders/sub-content/top-left.gif); 
background-repeat: no-repeat; 
background-position: left top; 
} 
.sub-content-border div div div div div { 
background-image: url(/images/borders/sub-content/top-right.gif); 
background-repeat: no-repeat; 
background-position: right top; 
} 
.sub-content-border div div div div div div { 
background-image: url(/images/borders/sub-content/bottom-left.gif); 
background-repeat: no-repeat; 
background-position: left bottom; 
} 
.sub-content-border div div div div div div div { 
background-image: url(/images/borders/sub-content/bottom-right.gif); 
background-repeat: no-repeat; 
background-position: right bottom; 
padding:    18px; 
} 
.sub-content-border div div div div div div div div { 
background-image: url(/images/blank.gif); 
padding:   0px; 
} 

這是我的HTML:

<div class="sub-content-border"><div><div><div><div><div><div><div><div> 
Test 
<div class="sub-content-border"><div><div><div><div><div><div><div><div> 
Test 
</div></div></div></div></div></div></div></div></div> 
</div></div></div></div></div></div></div></div></div> 

然而,而不是得到一個框架內框架,內框架確實存在沒有(見圖片:i47.tinypic .COM/kcihcy.jpg)

有誰知道爲什麼嗎?

但是,如果我做使壞,並添加樣式CSS,它顯示了:

<div class="sub-content-border"><div><div><div><div><div><div><div><div> 
Test 
<div class="sub-content-border" style="background-image: url(/images/borders/sub-content/top.gif); background-repeat: repeat-x; background-position: top;"> 
<div style="background-image: url(/images/borders/sub-content/bottom.gif); background-repeat: repeat-x; background-position: bottom;"> 
<div style="background-image: url(/images/borders/sub-content/left.gif); background-repeat: repeat-y; background-position: left;"> 
<div style="background-image: url(/images/borders/sub-content/right.gif); background-repeat: repeat-y; background-position: right;"> 
<div style="background-image: url(/images/borders/sub-content/top-left.gif); background-repeat: no-repeat; background-position: left top;"> 
<div style="background-image: url(/images/borders/sub-content/top-right.gif); background-repeat: no-repeat; background-position: right top;"> 
<div style="background-image: url(/images/borders/sub-content/bottom-left.gif); background-repeat: no-repeat; background-position: left bottom;"> 
<div style="background-image: url(/images/borders/sub-content/bottom-right.gif); background-repeat: no-repeat; background-position: right bottom; padding: 18px;"> 
<div style="background-image: url(/images/blank.gif); padding: 0px;"> 
Test 
</div></div></div></div></div></div></div></div></div> 
</div></div></div></div></div></div></div></div></div> 

看到圖像:http://i46.tinypic.com/2dh9ut2.jpg

+3

... divitis ... – knittl 2010-01-17 16:32:34

+0

嘗試使用螢火 - 你會看到什麼樣的風格在每一個DIV影響。另外,在CSS中你沒有引用填充(你在樣式中有) – Dror 2010-01-17 16:34:22

+0

我認爲它更像是一個TFM問題。 – Aaronaught 2010-01-17 16:34:36

回答

1

使用div > div > div

div div將匹配每格低於另一格

+0

我注意到,這適用於除IE6之外的每個瀏覽器......反正IE6還有這個功能嗎? 我改名爲.thisforexample> div> div> div – cappuccino 2010-01-17 18:59:34

+0

這不適用於IE6,因爲IE6不支持完整的CSS 2,您可以使用類或ids。但我真的建議重新考慮你的整個方法,那裏有太多的div,我敢打賭有一個更簡單的解決方案來解決這個問題 – knittl 2010-01-17 19:43:25