今回は疑似要素【before】を紹介したいと思います。
<デモ>
<html>
- <!DOCTYPE html>
- <html lang="ja">
- <head>
- <meta charset="utf-8">
- <title>タイトル</title>
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <link rel="stylesheet" href="css/index.css">
- </head>
- <body>
- <main>
- <div class="backgroundBox">
- <div class="Container">
- <nav>
- <ul class="menulist">
- <li class="menuChild">
- <a class="menuChildItem" href="#">menu1</a>
- </li>
- <li class="menuChild">
- <a class="menuChildItem" href="#">menu2</a>
- </li>
- <li class="menuChild">
- <a class="menuChildItem" href="#">menu3</a>
- </li>
- <li class="menuChild">
- <a class="menuChildItem" href="#">menu4</a>
- </li>
- </ul>
- </nav>
- </div>
- </div>
- </main>
- </body>
- </html>
<ポイント>
・前回のtoggleclassに関する記事とhtmlはほぼ同じです。
<css>
- * {
- margin: 0;
- padding: 0; }
- .backgroundBox {
- background-color: whitesmoke; }
- .Container {
- margin: 0 10px 20px;
- padding-top: 10px;
- padding-bottom: 10px; }
- .menuChild {
- background-color: #5526e6d1;
- width: 200px;
- text-align: center;
- height: 50px;
- line-height: 50px;
- border-bottom: solid 1px #cbcbccd1;
- transition: 0.8s;
- position: relative; }
- .menuChildItem {
- display: block;
- text-decoration: none;
- color: white; }
- .menuChild:hover {
- transition: 0.5s;
- opacity: 0.5; }
- .menuChildItem::before {
- content: url(../img/arrow.png);
- position: absolute;
- left: 15px;
- 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書けるようにならねば・・・・