2009-08-02 3 views
0

Я использую следующий код на моей странице:применить CSS к вложенным дивы

<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, не назначая его каждому. например. Я хочу изменить код для div «itemstable», чтобы он применял правило css к вложенным div.

Возможно ли это?

EDIT: Я ищу что-то вроде этого:

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

Есть .gif * f * a typo? – deceze

+0

aah, да ... не заметил. Это правильно в моем файле css, хотя>. < – Hintswen

ответ

1

(Если я понимание вопроса правильно :)

Думай об использовании другой схемы ID/класса. Я не знаю о дальнейшей специфике вашей структуры, но id="itemstable" class="item_type1" кажется немного излишним для меня. Может ли itemstable быть чем угодно, кроме item_type1? Попробуйте применить более общие имена классов и сохранить конкретные случаи для идентификаторов.

В противном случае вы можете добавить еще один класс, отвечающий за добавление фонового изображения: class="item_type1 item_types".

EDIT

Так как кажется, явная масса является главной проблемой (не применяя стиль, как следует из названия), вероятно, лучше, чтобы динамически вставить стиль в заголовке страницы. Что-то в строках:

<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: ...; }"> 
+0

Дело в том, что я не хочу использовать файл CSS, чтобы сообщить ему, какое фоновое изображение использовать, таким образом я могу хранить информацию об изображении в моей базе данных и получать ее оттуда. – Hintswen

+0

Простите, не получите.Можете ли вы обновить свой вопрос и дать немного больше контекста и подробностей о том, чего вы пытаетесь достичь? – deceze

+0

добавил пример в нижней части моего вопроса. Показывает, что я хочу, чтобы мой код выглядел, если это возможно. – Hintswen

1

Я думаю, в том числе немного больше вашего HTML сделает ваш вопрос легче понять.

Вы, конечно, можете включать в себя несколько правил в селекторе соединения:

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

Но так как вы тянете изображения из базы данных динамически, вам нужно будет либо включать их в динамическом code-- в самой диве , или динамически создавать CSS, как было предложено выше:

<style> 
<% for $i in $images { echo "div.image$i div { background-image: url(/path/to/$i) }" %> 
</style> 
Смежные вопросы