Я люблю ту простоту, которую привносят CSS3-селекторы в таблицы стилей. В этой статье приведено краткое описание одного из моих любимых селекторов: псевдо-класса
.
1 :empty
Что такое псевдо-класс :empty
Вот краткое описание, взятое из спецификации W3C:
Псевдо-класс
относится к элементу, у которого нет потомков.
1 :empty
Звучит просто и понятно, не правда ли? Потому что это действительно так - псевдо-класс
применяется к элементам, которые полностью пустые; например, для пустого параграфа:1
:empty
Или же пустые ячейки таблицы:
А вот к такому параграфу псевдо-класс
не применим, так как он не является пустым (внутри этого тега есть пробел, который является равноправным символом по сравнению со всеми остальными):1
:empty
Практическое применение :empty
Хорошо, но каким образом может быть полезен этот селектор?
Представим ситуацию, когда вы стилизуете таблицу и некоторые из ячеек этой таблицы не имеют данных внутри себя. Тогда вы можете применить к ним другие правила благодаря псевдо-классу
.1
:empty
Давайте возьмем таблицу, которая создавалась мною ранее. Я собираюсь использовать те же самые таблицы стилей, но сделаю их более упрощенными. Также я собираюсь удалить содержимое из некоторых ячеек для того, чтобы сделать пример соответствующим статье.
Разметка будет выглядеть таким образом:
И вот, что я собираюсь добавить в таблицы стилей, для того чтобы отформатировать пустые ячейки таблицы:
А вот теперь пустые ячейки таблицы отформатированы по-другому! Мне кажется, что невозможно сделать это более простым способом.
Если вас этот селектор заинтересовал, то скажу, что он поддерживается всеми последними версиями браузеров Firefox, Safari, Chrome и Opera. И возможно, он работает в браузере Internet Explorer 9, наравне с остальными селекторами стандарта CSS3.