Вы не сумасшедшие: действительно невозможно изменить размеры изображения, вставленного с использованием content
, независимо от того, вставлено ли оно с помощью url()
, image()
, image-set()
, element()
или градиента CSS. Изображение всегда отображается как есть. Это называется замененным содержимым или замененным элементом ( за исключением того, что мы не говорим здесь об элементах).
Однако, поскольку замененные элементы можно изменить размер с помощью width
и height
, как описано в раздел 10 спецификации CSS2.1, возникает вопрос, почему эти свойства здесь не применяются. Казалось бы, ответ на этот вопрос заключается в том, что свойства действительно применяются, но вместо этого к блоку псевдоэлемента - вы можете увидеть это, присвоив псевдоэлементу цвет фона. Вместо того, чтобы заменять сам блок псевдоэлемента, изображение визуализируется как дочерний блок псевдоэлемента и поэтому вообще не может быть стилизовано (поскольку для этого потребуется другой псевдоэлемент, который не не существует).
Отсюда возникает другой вопрос: почему он вообще не заменяет блок псевдоэлементов? К сожалению, CSS2.1 вообще не определяет такое поведение, поэтому согласованная реализация заключается в том, чтобы вместо этого отображать контент как дочерний элемент блока псевдоэлемента:
CSS2.1 не совсем четко определяет модель обработки «содержимого» в :: before и :: after, но информативные примеры в CSS 2.1, тот факт, что «контент» определяет список вещи, и стремление к согласованности привело к тому, что поведение UA стало следующим: свойство 'content' определяет список вещей, которые становятся дочерними элементами блока :: before или :: after.
-Борис
Надеюсь, этот вопрос будет рассмотрен в дальнейшем на уровне 3 CSS Generated Content, работа над которым только началась.
Между тем, если вы хотите иметь возможность изменять размер псевдоэлемента :after
и созданного изображения, вам нужно будет вместо этого применить его в качестве фонового изображения и - при условии, что поддержка браузера не является проблемой - использовать background-size
вместе с width
и height
для его масштабирования (исходя из того, что эти свойства применяются вместо этого к блоку псевдоэлемента).
person
BoltClock
schedule
20.02.2013
background-size:100%
, а ваш псевдоконтейнер -width:100%; max-width:800px
. - person otinanai   schedule 20.02.2013