2009-06-30 2 views
1

Я пытаюсь стилизовать все элементы <select>, которые являются потомками <div>. Я мог бы поставить класс на них, но я пытался быть умным :-)Изменить ширину всех элементов, которые являются потомками div id = "content"

Я считаю, что он не работает в ie6, но работает ли он в ie7 и т. Д.?

Как вы это делаете не

Вот один из моих выбирает (она имеет класса или идентификатор), но все они являются потомками в DIV с идентификатором «содержание»

<div id="content"> 
    <select > 
     <option></option> 
    </select> 
</div> 

Любые идеи ?

ответ

5

Если вы хотите какой-либо выбрать, что является потомком элемента с идентификатором = «содержание»:

#content select { ... } 

Если вы хотите какой-либо выберите, что является прямым потомком элемента с id = "content":

#content > select { ... } 

Если вы хотите ограничить его только Div элементов с ID = «содержание»:

div#content select { ... } 

Второй может не работать в некоторых старых браузерах, но другие должны работать даже древний браузер до тех пор, у него есть всякая поддержка css вообще, как Netscape 4.

+2

Для # 3: В любом случае только один элемент должен иметь идентификатор 'comment'. – tj111

+1

@ tj111: Да, но может быть полезно, когда один и тот же файл css используется для более чем одной страницы. – Guffa

0
div#content > select { 
} 
+0

Это только получает прямых потомков. Удалите> – Sampson

0
.content select { 

       css here 

} 

Я считаю, что это, как вы можете сделать это. Где «контент» - это класс вашего div. Это будет отформатировать все элементы внутри div, которые имеют класс «content».

Лучшее из удач!

+0

Закрыть. Это будет соответствовать любому элементу с идентификатором «content» и классом «select». Вероятно, вы хотели удалить этот период и добавить пробел между ними. #content выберите – Sampson

2

Это должно работать во всех браузерах:

#content select { 
    // Styles for selects inside the div with id `content' 
} 
+0

, который будет для ID контента. –

+0

@Chris B: Именно. Я редактировал. Спасибо. –

1
.myDiv select { 
    font-family:verdana; 
} 

<div class="myDiv"> 
    <p><select>...</select></p> 
    <p><select>...</select></p> 
</div> 
0

Решение Ник получает только прямые потомки, поэтому в div не будет выбора в форме. Это не будет получать их, независимо от того, сколько других элементов глубоко они:

#content select { width: 100px } 

Если вы хотите, чтобы получить, например, текстовые входы вы можете сделать это:

#content select[type=text] { width: 100px } 

и не забывайте, что ввод пароля отличается от ввода текста!