2013-11-11 1 views
8

Смотрите эту скрипку: http://jsfiddle.net/xanld/3yh28/добавить свой текст CSS в «пустой» дивы

div:before { 
    content: 'This div is empty'; 
} 
div:empty { 
    background:red; 
} 

Я хотел бы, чтобы добавить содержимое CSS только пустые дивы. Я могу либо использовать: пустой селектор, но мне нужно использовать: перед селектором, чтобы добавить контент. Можно ли использовать оба варианта?

Спасибо.

ответ

16

Да, вы можете использовать оба - см обновленное скрипку: http://jsfiddle.net/3yh28/1/

div:empty:before { 
    content: 'This div is empty'; 
} 

Убедитесь, что это :empty:before (не :before:empty), потому что вы хотите применить псевдо-элемент :before на элемент, который соответствует div:empty ,

Кстати, :empty is CSS3 и не поддерживается в старых браузерах (таких как IE8, или около 40% доли рынка браузеров)

+0

Damnit. Это так просто, я думал, что попробовал. Infact, что я думаю, что я пробовал, был div: before: empty, а не div: empty: before, а затем просто предположил, что этот синтаксис недействителен. Спасибо :) – xanld

+0

Это ** ** смущает. Обновлен ответ, чтобы предупредить о заказе. – sinelaw