2010-03-04 4 views
-1

Как я могу выбрать селектор ba для работы, когда я использую его как селектор идентификаторов вместо селектора классов в следующем коде?Вопрос CSS о проблемах с селектором идентификаторов?

Это не будет работать с ba как атрибут id.

#abc textarea#ba { 
    height: 400px; 
    width: 660px; 
} 

Это будет работать с ba как атрибут класса.

#abc textarea.ba { 
    height: 400px; 
    width: 660px; 
} 
+1

'ab' или' ba'? __ – kennytm

+0

опечатка извините. – css

+1

вам также нужно показать свой html. – Sarfraz

ответ

4

Я не понимаю, почему ваш пример не сработает.

Вы действительно уверены, что имеете текстовое поле с ID ba внутри элемента с ID abc? Помните, что атрибуты name не учитываются. Может быть, у вас есть дубликат id в одном из элементов? Кроме того, помните, что вы можете назначить несколько классов, но не несколько идентификаторов, таких как id='abc def'.

Edit: Это работает для меня:

<style type="text/css"> 
#abc textarea#ba { 
    height: 400px; 
    width: 660px; 
    background-color: lightyellow; 
} 

</style> 

<div id="abc"> 
    <textarea id="ba"> 
    I'm 400 wide, 660 tall and light yellow! 
    </textarea> 
</div> 
3

Вся суть идентификаторами в том, что они уникальные (идентификаторы), так что вы никогда не должны необходимости выбрать таким образом, и должны просто использовать

#ba { 
    height: 400px; 
    width: 660px; 
} 

Если у вас несколько # ba, вы не делаете это правильно.

'id = name [CS] Этот атрибут присваивает имя элементу. Это имя должно быть уникальным в документе.

Источник: http://www.w3.org/TR/html401/struct/global.html#h-7.5.2

+2

Это не * обязательно * так, хотя. Если я только хочу повлиять на #ba, когда он находится в #abc (если это может быть не так), это законное использование. –

+0

(Но это, вероятно, так.) –

+0

@DN Ах справедливая точка. Я смотрел на него под другим углом. – Dolbz

Смежные вопросы