2010-01-17 76 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