ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 자바스크립트없이 드롭다운 메뉴 만들기 (2)
    프론트엔드/컴포넌트 2023. 4. 14. 20:01
    728x90
    <!DOCTYPE html>
    <html lang="en">
    <head>
      <meta charset="UTF-8">
      <meta http-equiv="X-UA-Compatible" content="IE=edge">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      <title>design practice</title>
      <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css" integrity="sha512-iecdLmaskl7CVkqkXNQ/ZH/XLlvWZOJyj7Yy7tcenmpD1ypASozpmT/E0iPtmFIB46ZmdtAc9eNBvH0H/ZpiBw==" crossorigin="anonymous" referrerpolicy="no-referrer" />
      <link rel="stylesheet" href="style.css">
    </head>
    <body>
      <a href="#" class="nav-menu">home</a>
      <div class="dropdown-menu">
        <ul>
          <li class="sub-menu">Social Media</li>
          <ul>
            <li><a href="https://instagram.com"><i class="fa-brands fa-instagram"></i>instagram</a></li>
            <li><a href="https://google.com"><i class="fa-brands fa-google"></i>google</a></li>
            <li><a href="https://github.com"><i class="fa-brands fa-github"></i>github</a></li>
          </ul>
    
          <li class="sub-menu">Big companies</li>
          <ul>
            <li><a href="https://instagram.com"><i class="fa-brands fa-instagram"></i>instagram</a></li>
            <li><a href="https://google.com"><i class="fa-brands fa-google"></i>google</a></li>
            <li><a href="https://github.com"><i class="fa-brands fa-github"></i>github</a></li>
          </ul>
    
          <li class="sub-menu">Places</li>
          <ul>
            <li><a href="https://instagram.com"><i class="fa-brands fa-instagram"></i>instagram</a></li>
            <li><a href="https://google.com"><i class="fa-brands fa-google"></i>google</a></li>
            <li><a href="https://github.com"><i class="fa-brands fa-github"></i>github</a></li>
          </ul>
        </ul>
        
      </div>
      
      <script src="app.js"></script>
    </body>
    </html>
    a{
      text-decoration: none;
      color: #333;
    }
    ul{
      padding: 0; margin: 0;
    }
    li{
      list-style: none;
    }
    .dropdown-menu{
      display: none;
      width: 20rem;
      padding: .5rem;
      background: #eee;
      z-index: 1;
      box-shadow: .3rem .3rem .5rem rgba(0,0,0,.3);
    }
    .dropdown-menu .sub-menu{
      font-weight: bold;
      font-size: 1.2rem;
      margin-top: 0.5rem;
      border-bottom: 1px solid #ccc;
      color: #333;
    }
    .dropdown-menu .sub-menu::selection{ /* 드래그하는 글자의 배경색 변경 */
      background: #333;
    }
    .dropdown-menu a{
      display: block;
      transition: .3s;
    }
    .dropdown-menu a:hover{
      background: #ccc;
    }
    .dropdown-menu a i{
      margin-right: .5rem;
    }
    
    /* 드롭다운 메뉴중 하나를 선택하면 nav-menu 링크의 포커스가 사라지면서
    드롭다운 메뉴가 보이지 않으므로 a 태그도 함께 사라져서 동작하지 않음 */
    .nav-menu:focus + .dropdown-menu{
      display: block;
    }
    
    /* 드롭다운 메뉴중 하나를 선택할때는 nav-menu 링크의 포커스가 사라지더라도
    드롭다운 메뉴 영역 내부를 클릭했을때 드롭다운 메뉴가 사라지지 않게 해서 a 태그가 동작할 수 있게 함 */
    .dropdown-menu:active{ 
      display: block;
    }
    728x90
Designed by Tistory.