Селектор CSS родитель / предок [дубликат]

Возможные Дубликаты:
есть ли Родительский селектор CSS?

Я знаю, что это выстрел в темноте, но есть ли способ, используя только css, CSS2, no jquery, no javascript, выбрать и стиль предка элемента? Я прошел через селекторы, но публикую это в случае, если я что-то пропустил или есть умный обходной путь.

например, скажем, у меня есть таблица с именем класса "test", вложенная в div. Есть там что-то вроде:

<div>
    <table class="test">
    </table>
</div>
div (with child) .test
{
     /*styling, for div, not .test ...*/
}

4 ответов


нет такой вещи, как родительский селектор в CSS2 или CSS3. И может никогда не быть, на самом деле, потому что вся "Каскадная" часть CSS не будет красивой, когда вы начнете делать родительские селекторы.

вот для чего предназначен jQuery: -)


в CSS есть: пустой селектор, который позволяет вам сопоставлять пустые элементы, вы можете отрицать эффект с :не селектором.

div:not(:empty) {
    // your styles here
}

однако я не уверен, что все браузеры поддерживают это.


div:not(:empty) {
    margin:0;
}

не распознается http://jigsaw.w3.org/css-validator/ как CSS2

это цель CSS, чтобы "каскадировать" вниз от более содержащих к более конкретным элементам. Я думаю, что вы можете "изменить свою логику", как в

div.myclass   { /* format parent */ }
div.myclass * { /* neutralize formats in descendants */}
div.myclass img { /* more specific formats for img children */ }

удачи Майк!--5-->


: пустой псевдокласс поддерживается Firefox, но не совместим с IE.

но очень простое решение на jQuery для IE на http://www.webmasterworld.com/css/3944510.htm . Спас мой бекон