疑似要素【before】

Pocket

今回は疑似要素【before】を紹介したいと思います。


<デモ>


<html>

  1. <!DOCTYPE html>
  2. <html lang="ja">
  3. <head>
  4. <meta charset="utf-8">
  5. <title>タイトル</title>
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <link rel="stylesheet" href="css/index.css">
  8. </head>
  9. <body>
  10. <main>
  11. <div class="backgroundBox">
  12. <div class="Container">
  13. <nav>
  14. <ul class="menulist">
  15. <li class="menuChild">
  16. <a class="menuChildItem" href="#">menu1</a>
  17. </li>
  18. <li class="menuChild">
  19. <a class="menuChildItem" href="#">menu2</a>
  20. </li>
  21. <li class="menuChild">
  22. <a class="menuChildItem" href="#">menu3</a>
  23. </li>
  24. <li class="menuChild">
  25. <a class="menuChildItem" href="#">menu4</a>
  26. </li>
  27. </ul>
  28. </nav>
  29. </div>
  30. </div>
  31. </main>
  32. </body>
  33. </html>

<ポイント>

・前回のtoggleclassに関する記事とhtmlはほぼ同じです。


<css>

  1. * {
  2. margin: 0;
  3. padding: 0; }
  4.  
  5. .backgroundBox {
  6. background-color: whitesmoke; }
  7.  
  8. .Container {
  9. margin: 0 10px 20px;
  10. padding-top: 10px;
  11. padding-bottom: 10px; }
  12.  
  13. .menuChild {
  14. background-color: #5526e6d1;
  15. width: 200px;
  16. text-align: center;
  17. height: 50px;
  18. line-height: 50px;
  19. border-bottom: solid 1px #cbcbccd1;
  20. transition: 0.8s;
  21. position: relative; }
  22.  
  23. .menuChildItem {
  24. display: block;
  25. text-decoration: none;
  26. color: white; }
  27.  
  28. .menuChild:hover {
  29. transition: 0.5s;
  30. opacity: 0.5; }
  31.  
  32. .menuChildItem::before {
  33. content: url(../img/arrow.png);
  34. position: absolute;
  35. left: 15px;
  36. top: 2px; }

<ポイント>

・ .menuChildItem::before{}

①menuChildItemのaタグに足して疑似要素beforeを追加する。aタグの直前に要素を入れることができる。(直後に要素えを追加したい場合はafterを使用する)content:url(○○); ○○は追加したい内容。今回は画像を追加したいと考えていたので、追加したい画像のパスを記述している。

※文字を追加したい場合はcontent: “○○”;で追加できる

②疑似要素の表示位置をabsoluteを使用し決めている。微調整して、好きな位置に表示するこが可能。absoluteの使い方が分からない場合は要素の配置【position:abolute;】を参考にしてみて下さい。

※absoluteによる位置制御のために、親要素である.menuChildにposition:relative;を記述しています。

<補足>

・ .menuChildItem:hover{}

hoverにより、カーソルが.menuChildItem上にあるときに適用されるcssを記述することができます。

疑似要素はよく使用するので、使い方を覚えておいて損はないでしょう。

以上。

ps

php書けるようにならねば・・・・