2013-03-13 2 views
-3

Предположим, у нас есть этот HTMLCSS: цель на детей

<div class="a"> 
    <div>...</div> 
    ... 
    <div id="b">xyz</div> 
</div> 


<div class="a"> 
    <div>...</div> 
    ... 
    <div id="c">abc</div> 
</div> 

Применяя некоторый стиль на #b при ориентации его в URL легко сделать с помощью CSS: селектор цели. Можно ли применить некоторый стиль к родительскому div с классом = «a»?

+0

* «стиль на #b при ориентации на него в URL» * Что вы имеете в виду? – Bigood

+3

Нет по той простой причине, что [еще нет способа выбрать родителя] (http://stackoverflow.com/questions/1014861/is-there-a-css-parent-selector). – BoltClock

+0

u может использовать jQuery, но вопрос непонятен – Razmig

ответ

1

Нет, поскольку для этого вам понадобится родительский селектор CSS. Для этого не указано ничего в CSS2 и CSS3. CSS4 имеет (несколько) parent selector (называемый селектором объектов), используя символ !, но браузер не поддерживает его (пока).

0

Вы можете добавить дополнительный id к вашему <div class="a"> и сделать это:

<div class="a" id="abc"> 

... и до сих пор используют :target.

+1

Да, но это может привести к тому, что фрагмент URL-адреса укажет на этот элемент, а не на другой, что может или не желательно, если ребенок должен иметь может повлиять идентификатор или другое поведение, например прокрутки или скриптов. – BoltClock

+1

@otinanai, id должен быть уникальным –

+0

См. Мое редактирование ... Хорошо сейчас? – otinanai

0

Нет, CSS cascades (CSS = Каскадные таблицы стилей), он не поднимается. Вам нужно будет явно применить стиль к родительскому элементу.

Вы бы лучше сделали что-то вроде @otinanai и добавили класс в свои дочерние div. например

HTML

<div class="a"> 
    <div>...</div> 
    ... 
    <div class="aItem" id="b">xyz</div> 
</div> 

<div class="a"> 
    <div>...</div> 
    ... 
    <div class="aItem" id="c">abc</div> 
</div> 

CSS

.a { 
    border: 1px solid #000; 
} 
.aItem { 
    color: #999; 
} 

Таким образом, вы будете использовать классы последовательно укладывать элементы. В противном случае вам придется писать CSS для D, E, F G до Z и использовать только идентификаторы для целей бронирования/URL.

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