2009-08-02 81 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>