CodeGym /Javaコース /Frontend SELF JA /擬似クラスと擬似要素

擬似クラスと擬似要素

Frontend SELF JA
レベル 7 , レッスン 5
使用可能

10.1 擬似クラス

HTMLとCSSの擬似クラスと擬似要素を使えば、要素の状態や内容に基づいてスタイルを適用することができるよ。追加のクラスを使ったり、HTML文書の構造を変えたりする必要はないんだ。これでインタラクティブで見た目が魅力的なウェブページを作るツールが手に入るね。

擬似クラスは要素の状態や文書の構造内での位置に基づいて適用されるんだ。それで、カーソルが上にある時とか、フォーカスした時とか、色んな状況で要素をスタイリングできるんだよ。擬似クラスはコロン (:)から始まるんだ。

一番簡単な擬似クラスはこんな感じだよ:

擬似クラス :hover はユーザーが要素にカーソルを合わせたときに適用されるよ。

HTML
    
      <button type="button">ボタン</button>
    
  
CSS
    
      button:hover {
        color: red;
      }
    
  

擬似クラス :focus はフォーカスを受けた要素に適用されるんだ。例えば、入力フィールドをクリックしたときとかね。

HTML
    
      <input type="text">
    
  
CSS
    
      input:focus {
        outline-color: blue;
      }
    
  

擬似クラス :active はリンクやボタンをクリックしたときに要素に適用されるんだ。

HTML
    
      <button type="button">ボタン</button>
    
  
CSS
    
      button:active {
        background-color: green;
      }
    
  

擬似クラス :visited はユーザーが訪問したことのあるリンクに適用されるんだ。

HTML
    
      <a href="#">リンク</a>
    
  
CSS
    
      a:visited {
        color: purple;
      }
    
  

10.2 擬似要素

擬似要素は、独立したHTML要素ではない要素の一部をスタイリングするためのものだよ。これらは二つのコロン (::)から始まるんだ。擬似要素を使って、要素の前や後にコンテンツを作ったり、最初の行や最初の文字を強調したり、色々なことをするんだよ。

一番簡単な擬似要素はこんな感じだよ:

擬似要素 ::before は要素のコンテンツ前に内容を挿入するよ。

HTML
    
      <p>僕の名前はステパンです。</p>
    
  
CSS
    
      p::before {
        content: "こんにちは! ";
        color: blue;
      }
    
  

擬似要素 ::after は要素のコンテンツ後に内容を挿入するよ。

HTML
    
      <p>注意!</p>
    
  
CSS
    
      p::after {
        content: " 注目してくれてありがとう!";
        color: red;
      }
    
  

擬似要素 ::first-line は要素の最初の行に適用されるんだ。最初の行のテキストだけをスタイリングできるよ。

HTML
    
      <p>
       Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
        Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute
        irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat
        cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
      </p>
    
  
CSS
    
      p::first-line {
        font-weight: bold;
        color: green;
      }
    
  

擬似要素 ::selection はユーザーが選択したテキストに適用されるんだ。

HTML
    
      <p>
        Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
        Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
      </p>
    
  
CSS
    
      ::selection {
        background-color: blue;
        color: yellow;
      }
    
  

結果でテキストを選択してみてね。

10.3 擬似要素の使用例

HTMLとCSSの擬似クラスと擬似要素は、要素の状態や内容に基づいてスタイリングするためのすごい機能を提供してくれるんだ。これで、HTMLの構造を変えずに、もっとインタラクティブで視覚的に魅力的なウェブページを作成できるんだよ。

例 1: リンクのテキストの前にアイコンを挿入

HTML
    
      <html>
        <head>
          <style>
            a::before {
              content: "🔗";
              margin-right: 5px;
            }
          </style>
        </head>
        <body>
           <a href="#">これはアイコン付きのリンクです</a>
        </body>
      </html>
    
  

例 2: 段落の後にスタイル付きブロックを追加

HTML
    
      <html>
        <head>
          <style>
            p::after {
              content: "🌟";
              display: block;
              text-align: center;
              margin-top: 10px;
            }
          </style>
        </head>
        <body>
           <p>これはテキストの段落です。</p>
        </body>
      </html>
    
  

組み合わせ

擬似クラスと擬似要素は組み合わせて、複雑でパワフルなスタイルを作ることができるんだ。

例: リンクの上でハイライトしたテキストをホバーでスタイリング

HTML
    
      <html>
        <head>
          <style>
            a:hover::selection {
              background-color: lightblue;
              color: navy;
            }
          </style>
        </head>
        <body>
          <a href="#">このテキストを選択して、その後にカーソルを上に動かしてみて。</a>
        </body>
      </html>
    
  
1
Опрос
マルチメディア形式,  7 уровень,  5 лекция
недоступен
マルチメディア形式
マルチメディア形式
コメント
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION