疑似要素【before】

Pocket

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