CSS не влияет на фактический HTML-код, поэтому это невозможно сделать. В (готовящемся) CSS3 вы можете остановить их рендеринг с помощью псевдокласса :empty
:
div:empty {
display: none;
}
Это, конечно, не одно и то же, но, вероятно, это решило бы проблемы, которые у вас возникли ... если бы только браузеры действительно поддерживали это, чего они не делают, пока.
Лучший вариант - удалить их на сервере, используя язык сценариев, такой как PHP. Я полагаю, вы могли бы сделать это на стороне клиента с помощью JavaScript, но это ужасное решение, imo.
При этом, какие у вас проблемы с этими пустыми тегами? Почему они там в первую очередь? Мне кажется, что некоторые изменения в порядке, чтобы предотвратить создание ненужных тегов в первую очередь.
Также будьте осторожны. Пустые теги не всегда бессмысленны. На самом деле, удаление каждого пустого <div>
может считаться вредным.