Очень поздно стороне, но: атрибуты.
Атрибуты по существу позволяют Вам определить произвольный код, который будет связан с объявлением переменной или подпрограммы. Лучший способ использовать их с Атрибут:: Обработчики ; это облегчает определять атрибуты (с точки зрения, что еще, атрибуты!).
я сделал представление использования их для декларативной сборки сменного класса и его плагинов в YAPC:: 2006, онлайн здесь . Это - довольно уникальная функция.
В CSS2 или CSS3 нет такого понятия, как родительский селектор. И на самом деле этого может никогда не быть, потому что вся «каскадная» часть CSS не будет привлекательной, если вы начнете создавать родительские селекторы.
Для этого нужен jQuery: -)
В CSS есть селектор: empty, который позволяет вам сопоставлять пустые элементы, вы можете свести на нет эффект с помощью селектора: not.
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 */ }
удачи Майк
:пустой псевдокласс поддерживается Firefox, но не совместим с IE.
Но очень простой обходной путь jQuery для IE находится по адресу http://www.webmasterworld.com/css/3944510.htm . Saved my bacon