Ответ 1
Вы не сумасшедшие: изменить размеры изображения, которое было вставлено с помощью content
, действительно невозможно. Изображение всегда отображается как есть. Это называется замененным содержимым или замененным элементом (за исключением того, что мы здесь не говорим об элементах).
Однако, поскольку замененные элементы могут быть изменены с использованием width
и height
, как описано в разделе раздела 10 спецификации CSS2.1, возникает вопрос о том, почему свойства, похоже, не применяются здесь. Ответ на этот вопрос, казалось бы, заключается в том, что свойства действительно применяются, но вместо этого в поле псевдоэлемента вы можете увидеть это, указав свой псевдоэлемент на цвет фона. Вместо того, чтобы заменять сам блок псевдоэлементов, изображение отображается как дочерний элемент поля псевдоэлемента, и поэтому его нельзя вообще стилизовать (так как для этого потребуется другой псевдоэлемент, который не существует).
И это поддается другому вопросу: почему он вообще не заменяет блок псевдоэлементов? К сожалению, CSS2.1 вообще не указывает этого поведения, поэтому реализация, которая была согласована, заключается в том, чтобы отобразить содержимое как дочерний элемент псевдоэлементного поля:
CSS2.1 на самом деле явно не определяет модель обработки "content" on:: before и:: after, но информативные примеры в CSS 2.1, тот факт, что "content" указывает список вещей и желание согласованности привело к тому, что поведение UA было следующим: свойство content указывает список вещей, которые становятся дочерними элементами поля:: before или:: after.
-Boris
Надеемся, что это будет рассмотрено на уровне CSS 3, на котором начата переписывающая работа.
Тем временем, если вы хотите изменить размер псевдоэлемента :after
и созданного изображения, вам нужно будет применить его как фоновое изображение вместо этого, и, если предположить, что поддержка браузера не является проблемой, используйте background-size
вместе с width
и height
, чтобы масштабировать его (на основе понимания того, что эти свойства применимы к полем псевдоэлементов).