今回は、擬似要素「before、afterが表示されない」の解決法を紹介します。
擬似要素 before、after の解決法は「3つ」あります。
1:「content=””;」が必要
2:<img> <input> <br>には使えない
3:「display: block」「display: inline-block」にする
それでは、詳しく説明します。
擬似要素「before、after」には、「content=””;」が絶対必要
擬似要素before、afterを表示させるには「content=””;」が必要です。
特に、擬似要素「before、after」で、バックグラウンドだけ利用する時など忘れがちです。
擬似要素「before、after」は、<img> <input> <br>では使えない
擬似要素before、afterは、単一のhtml要素「<img> <input> <br>」などには使えません。
<使える>
○ <p></p>
○ <div></div>
○ <section></section>
<使えない>
× <img>
× <input>
× <br>
擬似要素「before、after」は、display: inline
擬似要素「before、after」のデフォルトは「display: inline」です。
「display: inline」では「バックスクリーンは、文字の部分だけ」に入ります。文字がないとバックスクリーンは、表示されません。
なので
バックスクリーン、バックスクリーン画像だけで使うなら「display: inline-block」「display: block」どちらかにする必要があります。
<擬似要素「before、after」でのヨコ並び、タテ並び>
1:ヨコに並べたいときは「display: inline-block」
2:タテに並べたいときは「display: block」
まとめ
擬似要素「before、after」は、以下の3つに注意してください。
1:「content=””;」が必要
2:<img> <input> <br>には使えない
3:「display: block」「display: inline-block」にする
【関連記事】擬似要素「before、after」全体幅の設定はどこで行う?(HTML,CSS)
以上、
擬似要素「before、afterが表示されない」時の解決法(HTML,CSS)
の話でした。
ありがとうございました。