테스트 사이트 - 개발 중인 베타 버전입니다

간단한 Flex 활용 예제

· 2년 전 · 1789 · 1

개인적으로 Flex 관련 공부하다 예제가 있어서 올립니다.

[code]

<!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>test03.html</title>
    <link
      rel="stylesheet"
      href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.2.1/css/all.min.css"
      integrity="sha512-MV7K8+y+gLIBoVD59lQIYicR65iaqukzvf/nwasF0nqhPay5w/9lJmVM2hMDcnK1OnMGCdVK+iQrJ7lzPJQd1w=="
      crossorigin="anonymous"
      referrerpolicy="no-referrer"
    />
    <style>
      * {
        padding: 0;
        margin: 0;
      }
      body {
        display: flex;
        justify-content: center;
        align-items: center;
        min-height: 100vh;
        background-color: #333;
      }
      .buttons {
        display: flex;
        justify-content: center;
        align-items: center;
        flex-wrap: wrap;
        max-width: 140px;
        gap: 20px;
      }
      .buttons label {
        position: relative;
        width: 60px;
        height: 60px;
        display: flex;
        justify-content: center;
        align-items: center;
        cursor: pointer;
      }
      .buttons label input {
        appearance: none;
      }
      .buttons label span {
        position: absolute;
        width: 100%;
        height: 100%;
        background: linear-gradient(#555353, #363535, #303030);
        border: 2px solid #222;
        border-radius: 6px;
        box-shadow: inset 0 5px 1px rgba(0, 0, 0, 0.35), 0 5px 5px rgba(0, 0, 0, 0.5), 0 15px 25px rgba(0, 0, 0, 0.35);
      }
      .buttons label input:checked ~ span {
        box-shadow: inset 0 2px 2px rgba(0, 0, 0, 0.35), inset 0 5px 5px rgba(0, 0, 0, 0.5),
          inset 0 15px 25px rgba(0, 0, 0, 0.35);
      }
      .buttons label span::before {
        content: "";
        position: absolute;
        inset: 5px 3px;
        border-top: 1px solid #ccc;
        filter: blur(2px);
      }
      .buttons label i {
        position: relative;
        z-index: 10;
        font-size: 1.5em;
        color: #111;
      }
      .buttons label input:checked ~ i {
        color: #fff;
        text-shadow: 0 0 5px #219cf3, 0 0 8px #219cf3;
      }
    </style>
  </head>
  <body>
    <div class="buttons">
      <label>
        <input type="checkbox" name="check" />
        <span></span>
        <i class="fa-solid fa-phone"></i>
        <!-- <i class="fa-solid fa-phone"></i> -->
      </label>
      <label>
        <input type="checkbox" name="check" />
        <span></span>
        <i class="fa-solid fa-plane"></i>
        <!-- <i class="fa-solid fa-phone"></i> -->
      </label>
      <label>
        <input type="checkbox" name="check" />
        <span></span>
        <i class="fa-solid fa-moon"></i>
        <!-- <i class="fa-solid fa-phone"></i> -->
      </label>
      <label>
        <input type="checkbox" name="check" />
        <span></span>
        <i class="fa-solid fa-wifi"></i>
        <!-- <i class="fa-solid fa-phone"></i> -->
      </label>
    </div>
  </body>
</html>

[/code]

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 1개

적용해 보시고 그누보드 테마로 적용해 보실려면 댓글 달아 주세요.ㅎㅎㅎ

게시글 목록

번호 제목
3643
3631
3627
3621
3619
3617
3610
3609
3608
3607
3606
3603
3602
3601
3600
3595
3591
3587
3578
3567
3561
3560
3559
3557
3555
3554
3552
3551
3550
3537