擬似要素に設定した画像のサイズについて
CSSの擬似要素 (::before
, ::after
など) に直接画像を設定する場合、通常の要素と同じ方法で画像のサイズを指定することはできません。しかし、background-image
プロパティを使用すれば、擬似要素の背景として画像を設定し、そのサイズを指定することが可能です。
なぜ擬似要素に直接サイズを指定できないのか
擬似要素は内容を持たない要素として描画されます。そのため、content
プロパティに画像のURLを指定した場合、その画像の元のサイズで表示されるのが通常です。
回避方法
擬似要素の背景として画像を設定する方法を利用することで、この問題を回避できます。background-image
, background-size
, background-repeat
などのプロパティを適切に使用して、望む表示を実現しましょう。
具体的な使用例
.element::before {
content: '';
display: inline-block;
width: 50px;
height: 50px;
background-image: url('path/to/image.jpg');
background-size: cover; background-repeat: no-repeat;
}
まとめ
擬似要素に設定した画像のサイズを指定する際は、背景画像として設定する方法を利用すると効果的です。この方法を使えば、擬似要素での画像表示も柔軟に対応することができます。