今回は疑似要素【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書けるようにならねば・・・・