в css3, вы можете установить стиль элемента в соответствии с тем, что он содержит? - PullRequest
0 голосов
/ 14 августа 2011
Например,

, если бы я хотел центрировать содержимое TD, если оно содержало или имело firstChild из INPUT[type='checkbox']

<style>
td ?? { text-align: center; }
</style>

не вижу, как это можно сделать. поверить невозможно. были неправы раньше.


если бы align все еще были законными, можно было бы иметь

td > input[type='checkbox'] { align: center; }

но не думаю, что это возможно

Ответы [ 3 ]

2 голосов
/ 14 августа 2011

Это называется предком или родительским селектором и не будет реализовано, потому что селекторы не могут подняться .
В качестве альтернативы вы сможете достичь этого с помощью $ который в настоящее время не поддерживается последними браузерами.

0 голосов
/ 14 августа 2011

Что ж, стилизация родительского элемента путем проверки свойств дочернего элемента невозможна с помощью CSS (я думаю).

Пример

HTML

<div id="parent">
    This is the parent.
    <div id="child">
        This is the child.
    </div>
</div>

CSS

Вы можете сделать это -

#parent > #child {
    color: red;
}

Но это даст красный цвет This is the child., а не This is the parent.

0 голосов
/ 14 августа 2011

Некоторое время назад я искал то же самое и обнаружил, что невозможно определить такие «обратные ссылки» в CSS. Невозможно определить правило CSS, которое учитывает внутренние дочерние элементы для определения родительских стилей.

В вашем случае, если вы заранее знаете, какие ячейки будут содержать флажок, вы должны создать класс:

td.centered {
  ...
}

и используйте этот стиль в вашей разметке:

<td class="centered">
    your checkbox here
</td>

Или вы можете сделать это с помощью JavaScript после рендеринга таблицы:

$("input[type='checkbox']").parent("td").css(...);

Чтобы узнать некоторые причины, вы также можете взглянуть на Почему нет родительского селектора .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...