難波校OPEN記念入学金無料キャンペーン実施中!
DMM WEBCAMPは難波校の開校を記念して、通常100,000円(税抜)無料で入校できるキャンペーンを実施しています。
関西で未経験からエンジニアになりたい方、プログラミング学習で人生を大きく変えたい方、ぜひご検討ください!

みなさんはCSSの学習をしていませんか?

CSSを学習する時に「before/after」が使えることは基本となっています。

今回の記事ではbefore/afterの使い方を解説します!

CSSの擬似要素「:before」「:after」とは

CSSはHTMLで作られた要素の構造を装飾するためのものですが、CSSの擬似要素である「:before」「:after」は、CSS側からHTMLに要素を追加することが出来ます。

そのため、見出しやボックスエフェクトなどに利用するとHTMLの構造が複雑にならずに何度も使いまわせるというメリットがあります。

今回はこのCSSの擬似要素「:before」「:after」の基本的な使い方をご紹介します。

使い方

「::before」は要素の先頭に「::after」は後方に擬似要素を作り出します。

擬似要素は通常の<div>や<p>などのタグと同じようにCSSのプロパティを当てることができます。

「:before, :after擬似要素」で追加した要素は、実際にはHTMLのソース上には生成されません。

ブラウザ上の見た目では見えますが、ソース上にはなく、その名の通り、フェイク(擬似)の要素です。

例)

E::before { 【スタイル定義】 }
E::after { 【スタイル定義】 }

擬似要素はインラインなので高さや横幅を指定したいときはdisplay:"block"が必要になるところにご注意ください。

擬似要素と擬似クラス

今回紹介しているbeforeとafterは、擬似要素と説明しましたが、その他に擬似クラスというものがあります。aタグなどでよくつかうa:hoverやinput:focusなどが擬似クラスになります。指定方法が同様で、混同しがちですが、ちゃんと区別して使用したいものです。

実は、CSS3では、擬似要素と擬似クラスをはっきり区別するために、記述方法が少し変わりました。擬似クラスでは「:」での指定のままですが、擬似要素は「::」とコロンが2つになっています。しかし、まだ未対応ブラウザの場合は動作が無視されることがあるため、注意が必要です。

サンプル


<!DOCTYPE html>
<html>
<head>
<title>before-after</title>
<style type="text/css">
.sample:before{
content : "[:before]"; /* 前方に文字列:beforeを挿入 */
font-size : 150%; /* フォントサイズを150%にする */
color : green; /* 文字色を緑色にする */
font-weight : bold; /* 太文字にする */
}

.sample:after{
content : "[:after]"; /* 後方に文字列:afterを挿入 */
font-size : 80%; /* フォントサイズを50%にする */
color : red; /* 文字色を赤色にする */
font-weight : bold; /* 太文字にする */
}
</style>
</head>
<body>
<p class="sample"> Sample </p>
</body>
</html>

まとめ

初心者の方向けにbefore/afterを紹介していきましたが、いかがでしたか?

before/afterはやや応用的ですが、使いこなせることでより幅が広がりますので、この機会にぜひ学習してみてくださいね。

1ヶ月でHTML・CSSができる!「WebCamp」とは?

WebCampは1ヶ月でプログラミング・Webデザインスキルを学ぶ通い放題のプログラミングスクールです。

参加する方の90%は未経験者です!

短期集中型のスクールなので、期間を決めて圧倒的に効率よくサイト制作スキルを身に着けたい方におすすめです!

わからないことを講師にすぐ質問できたり、通い放題で自分のスケジュールに合わせて来校することができるので、独学で学習するよりも早く確実にスキルが身につきます。

学習の疑問点やWebスキルのマスターの仕方がわかる無料説明会も開催しています。ぜひお気軽にお申込みください!

難波校OPEN記念入学金無料キャンペーン実施中!
DMM WEBCAMP難波校の開校を記念して、新しく難波校へご入校された方を限定に
入学金 100,000円(税抜)無料 のキャンペーンを実施しています。

未経験からエンジニアになりたい方、プログラミング学習で人生を大きく変えたい方、
ぜひご検討ください!


▼未経験から1ヶ月でWEBデザイン・プログラミングを学びたい方はこちら!

おすすめの記事