Выбор родителя/предка CSS

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

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

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

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

Ответ 1

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

Что jQuery для: -)

Ответ 2

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

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

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

Ответ 3

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 */ }

удачи Mike

Ответ 4

Нет, я не думаю, что есть.

Ответ 5

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

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