div { position: relative; width: 100px; height: 100px; background: #f00; }
div::before { position: absolute; content: ''; width: 75px; height: 75px; background: #0f0; }
div::before::before { position: absolute; content: ''; width: 50px; height: 50px; background: #00f; }
Является ли мой синтаксис неправильным или псевдоэлемент внутри псевдоэлемента не поддерживается?
Обратите внимание, что я знаю о псевдоэлементе ::after
, хотя мне нужен фактический элемент внутри другого псевдоэлемента для достижения, например. где ::after
недостаточно:
div { position: relative; width: 100px; height: 100px; background: #f00; }
div::before { position: absolute; content: ''; right: 0; bottom: 0; width: 75px; height: 75px; background: #0f0; }
div::after { position: absolute; content: ''; left: 0; top: 0; width: 50px; height: 50px; background: #00f; }
Потому что ::after
относится к элементу, а не ::before
.
absolute
, нет причин не использовать:after
, просто нужно, чтобы его позиция в некотором отношении вычислялась по позиции:before
(см. jsfiddle.net/dBj3c/4, который помещает:after
туда, где он был бы, если бы на самом деле было возможно быть:before:before
на основе вашего кода выше). - person ScottS   schedule 26.07.2013