css

【CSS入門】爆速!LPコーディング効率化パーツ–ハンバーガーメニュー

ロリポップ ロリポップ ロリポップ ロリポップ ロリポップ ロリポップ ロリポップ ロリポップ ロリポップ ロリポップ

こんなお悩み有りませんか

ハンバーガーメニュークリックしたらいい感じに×印になってほしい

ハンバーガーメニュー苦手(何が苦手かもわからない…)

結論:このコードのコメント部分を書き換えよう

See the Pen hambergar by aimeimm (@aimeimm) on CodePen.

html

           <button class="drawer-icon js-drawer for-drawer" type="button" data-target="for-drawer">
                <span class="drawer-bars">
                    <span class="drawer-bar"></span>
                    <span class="drawer-bar"></span>
                    <span class="drawer-bar"></span>
                </span>
            </button><!-- /drawer-icon -->
            <div class="drawer-content-cover for-drawer">
                <ul>
                    <li><a href="">Card</a></li>
                    <li><a href="">News</a></li>
                    <li><a href="">Price</a></li>
                    <li><a href="">Access</a></li>
                    <li><a href="">Contact</a></li>
                </ul>
            </div><!-- /drawer-content -->

scss


  // ハンバーガーアイコン
  $drawer-bar-space: 4.5px;
  $drawer-bar-width: 27px;
  $drawer-bar-height: 2.25px;
  
  // -----
  // ドロワー
  // -----
  .drawer-icon {
    width: 70px;
    height: 70px;
    position: fixed;
    right: 0px;
    top: -20px;
    z-index: 30;
    text-align: center;
    cursor: pointer;
    transition: all 0.5s ease 0s;
    background: transparent;
    box-shadow: none;
    border: none;
    padding: 0;
  
    @include f.mq('sp') {
        display: block;
  
    }
  }
  
  .drawer-bars {
    display: inline-block;
    width: $drawer-bar-width;
    height: $drawer-bar-height + ($drawer-bar-space + $drawer-bar-height) * 2;
    position: relative;
    vertical-align: bottom;
  
  }
  
  .drawer-bar {
    position: absolute;
    right: 0;
    left: 0;
    display: block;
    background: #023E78;
    width: 100%;
    height: $drawer-bar-height;
    border-radius: 20px;
    transition: all 0.5s linear 0s;
    margin-top: 15px;
  
    &:nth-of-type(1) {
        top: 0;
    }
  
    &:nth-of-type(2) {
        top: $drawer-bar-space + $drawer-bar-height;
    }
  
    &:nth-of-type(3) {
        top: ($drawer-bar-space + $drawer-bar-height) * 2;
    }
  
    .is-checked & {
        &:nth-of-type(1) {
            top: 10px;
            transform: rotate(-45deg);
            background: #fff;
        }
  
        &:nth-of-type(2) {
            background: transparent;
  
        }
  
        &:nth-of-type(3) {
            top: 10px;
            transform: rotate(45deg);
            background: #fff;
        }
    }
  }
  
  .drawer-content-cover {
    position: fixed;
    visibility: hidden;
    opacity: 0;
    transform: translateX(0);
    top: 0;
    right: 0;
    bottom: auto;
    width: 100%;
    height: 100%;
    max-width: 100%;
    transition: all 0.5s linear 0s;
    background: #023e78;
    z-index: 29;
    padding-top: 96px;
  
    &.is-checked {
        visibility: visible;
        opacity: 1;
    }
  
    ul {
        list-style: none;
        margin: 0 auto;
        padding: 0;
        width: 300px;
        max-width: 100%;
  
  
        li {
            a {
                text-align: center;
                font-size: 16px;
                text-decoration: none;
                display: block;
                position: relative;
                padding: 25px;
                color: #fff;
  
            }
  
        }
  
    }
  }
  
  .menu-dorawer-container {
    li {
        &:last-child {
            border: solid 2px #fff;
            background-color: #fff;
  
            margin: 10px 0;
  
            a {
                font-weight: bold;
                color: #002a52;
            }
        }
  
        &:nth-last-child(2) {
            border: solid 1px #fff;
  
            margin: 10px 0 30px 0;
        }
    }
  }
  
  

パーツを楽しく習得していこう

コーディングに自信がつくよう、簡単なコツで解決できる勉強法について発信していきますので、フォロー宜しくお願いします。これはスクロールバーの作り方です。

ロリポップ ロリポップ ロリポップ ロリポップ ロリポップ ロリポップ ロリポップ ロリポップ ロリポップ ロリポップ
ロリポップ ロリポップ ロリポップ ロリポップ ロリポップ ロリポップ ロリポップ ロリポップ ロリポップ ロリポップ