CSSの疑似要素を現役エンジニアが解説【初心者向け】

初心者向けにCSSの疑似要素について解説しています。疑似要素を使うと、セレクタで指定した要素の中から特定の部分にだけスタイルを適用させることができます。サンプルで適用の範囲を確認してみましょう。

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営。初心者向けに解説した記事が4,000以上あります。現役エンジニアの方はこちらをご覧ください。

CSSの疑似要素について、TechAcademyのメンター(現役エンジニア)が実際のコードを使用して初心者向けに解説します。

CSSについてそもそもよく分からないという方は、CSSの書き方について解説した記事をまずご覧ください。

 

なお本記事は、TechAcademyのオンラインブートキャンプ、Webデザイン講座のCSSカリキュラムをもとに執筆しています。

 

田島悠介

今回は、CSSに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

疑似要素について詳しく説明していくね!

大石ゆかり

お願いします!

 

目次

 

疑似要素とは

疑似要素とはCSSセレクタで指定した要素の特定の部分を指し示すものです。疑似要素を使用すると「1行目」や「最初の文字」といった具体的な要素や、「最初の子要素」などのような相対的な表現で要素を指し示すことができます。

 

[PR] HTML/CSSで挫折しない学習方法を動画で公開中

疑似要素を使う場面

「1行目」や「要素の前」などは疑似要素を使わないと表現できません。その性質を利用して疑似要素はレイアウトの調整やアニメーションなど、多くの場面で用いられています。本来であれば細かなスタイルやCSSセレクタによる調整が必要な場面において疑似要素を使用すると簡潔に対象を指し示すことができ、CSSを簡潔に記述できるというメリットがあります。

 

主な疑似要素の解説

主な疑似要素としては以下のようなものがあります。

  • ::after:指定した要素に対する最後の子要素を示します
  • ::before:指定した要素に対する最後の子要素を示します
  • ::selection:テキストを含む要素に対してユーザーが選択した部分を指し示します

疑似要素はこの他にも多くの種類があります。疑似要素について、詳しくは以下の記事も参考にしてください

MDN – 疑似要素(Pseudo-elements)

 

疑似要素を使ってみよう

今回のサンプルプログラムでは疑似要素の使い方について確認します。文章は銀河鉄道の夜から引用しています。

銀河鉄道の夜(青空文庫)

index.html

<!DOCTYPE html>
<html lang="ja">
  <head>
  <meta charset="UTF-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  <title>Sample</title>
  <style>
  div {
  width: 20vw;
  }
  p::first-letter {
  font-size: 3rem;
  }
  </style>
  </head>
  <body>
  <h1>銀河鉄道の夜</h1>
  <div>
  <p>ではみなさんは、そういうふうに川だと云いわれたり、乳の流れたあとだと云われたりしていたこのぼんやりと白いものがほんとうは何かご承知ですか。<br>先生は、黒板に吊つるした大きな黒い星座の図の、上から下へ白くけぶった銀河帯のようなところを指さしながら、みんなに問といをかけました。</p>
  </div>
  </body>
</html>

実行結果は以下のとおりです。海外のブログなどで見かける表現ですね。疑似要素を使うとこのような表現を簡単に行うことができます。

 

まとめ

今回の記事ではCSSの疑似要素について学習しました。

 

監修してくれたメンター

太田和樹(おおたかずき)

ITベンチャー企業のPM兼エンジニア

普段は主に、Web系アプリケーション開発のプロジェクトマネージャーとプログラミング講師を行っている。守備範囲はフロントエンド、モバイル、サーバサイド、データサイエンティストと幅広い。その幅広い知見を生かして、複数の領域を組み合わせた新しい提案をするのが得意。

開発実績:画像認識技術を活用した駐車場混雑状況把握、音声認識を活用したヘルプデスク支援システム、ロボットアプリの開発、大規模基幹系システムの開発・導入マネジメント。著書「知識ゼロからの機械学習入門(技術評論社)」。

地方在住。仕事のほとんどをリモートオフィスで行う。通勤で消耗する代わりに趣味のDIYや家庭菜園、家族との時間を楽しんでいる。

 

大石ゆかり

内容分かりやすくて良かったです!

田島悠介

ゆかりちゃんも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

TechAcademyでは初心者でも、最短4週間でオリジナルWebサイトを公開できる、オンラインブートキャンプを開催しています。

また、現役エンジニアから学べる無料体験も実施しているので、ぜひ参加してみてください。