2009-08-02 82 views
0

我用我的网页上下面的代码:应用CSS嵌套的div

<div id="itemstable" class="item_type1"> 
...other divs here... 
</div> 

而在我的CSS文件,我有这样的代码:

.item_type1 div { 
    background-image: url(images/type1.giff); 
} 

的问题是有很多的不同项目类型,所以我需要在我的CSS文件中有很多行。我想知道如何将background-image: url(images/type1.giff);样式应用于嵌套div,而无需将其分配给每个样式。例如。我想更改“itemstable”div的代码,以便它对嵌套的div应用css规则。

这可能吗?

编辑:我在寻找这样的事情:

<div id="itemstable" style="SET BACKGROUND IMG FOR NESTED DIVS HERE"> 
...other divs here... 
</div> 
+1

是.gif * f *一个错字? – deceze 2009-08-02 04:44:18

+0

啊,是的......没有注意到。这是正确的在我的CSS文件虽然>。< – Hintswen 2009-08-02 06:43:47

回答

1

(如果我理解正确的问题:)

考虑使用不同的ID /类方案。我不知道你的结构的进一步细节,但id="itemstable" class="item_type1"似乎略为多余的我。 itemstable可以不是item_type1?尝试应用更通用的类名称并保留ID的特定情况。

如果不成功,您可以添加另一个负责添加背景图像的类:class="item_type1 item_types"

编辑

因为它似乎纯粹是质量的主要问题(没有应用样式为标题所暗示的),它可能是最好的动态插入的风格在页头。沿线的东西:

<head> 
    ... 
    <style type="text/css" media="screen"> 
     <?php echo "#$myelement"; ?> div { background: url(<?php echo $image; ?>) ...; } 
    </style> 
</head> 

内联样式只能直接应用于元素,而不是其子元素之一。 I.e .:

<div style="background: ...;"> 

背景只适用于这一个div。
不能使用选择在内嵌样式,如:

<div style="div { background: ...; }"> 
1

我觉得包括多一点的HTML会让你的问题更容易理解的。

你当然可以包括在组合选择多条规则:

.item_type1 div.a, .item_type1 div.b, .item_type1 div.c { 
    background-image: url(xyz.gif); 
} 

但因为你是从数据库中动态图像拉,你要么需要包括他们在自己的div动态代码 - ,或者按照上面的建议动态创建CSS:

<style> 
<% for $i in $images { echo "div.image$i div { background-image: url(/path/to/$i) }" %> 
</style>