인프런 커뮤니티 질문&답변

rudals8920님의 프로필 이미지
rudals8920

작성한 질문수

HTML+CSS+JS 포트폴리오 실전 퍼블리싱(시즌1)

확장선택자와 함께 가상클래스 checked 실전 퍼블리싱 04(탭 콘텐츠 - Opacity)

visibility 대신 z-index

작성

·

191

1

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>2. 인접선택자-텝메뉴-Opacity</title>
  <style>
    body {
      margin0;
      displayflex;
      justify-contentcenter;
      height100vh;
      align-itemscenter;
    }

    .tab-inner {
      width300px;
      height350px;
      positionrelative;
    }

    .tab-inner input[type='radio'] {
      displaynone;
    }

    .tab-inner .content {
      positionabsolute;
      top0;
      left0;
      opacity0;
      transition1s;
    }

    .tab-inner .btn {
      width100%;
      text-aligncenter;
      positionabsolute;
      bottom0;
    }

    .tab-inner label {
      background-colorlightgrey;
      width10px;
      height10px;
      displayinline-block;
      border-radius50%;
      cursorpointer;
    }

    .tab-inner input[id='tab1']:checked~.btn label[for='tab1'],
    .tab-inner input[id='tab2']:checked~.btn label[for='tab2'],
    .tab-inner input[id='tab3']:checked~.btn label[for='tab3'] {
      background-colorcrimson;
    }

    .tab-inner input[id='tab1']:checked~.slide1,
    .tab-inner input[id='tab2']:checked~.slide2,
    .tab-inner input[id='tab3']:checked~.slide3 {
      opacity1;
      z-index1;
    }
  </style>
</head>

<body>
  <div class="tab-inner">
    <input type="radio" name="tab" id="tab1" checked>
    <input type="radio" name="tab" id="tab2">
    <input type="radio" name="tab" id="tab3">

    <div class="content slide1">
      <a href="#none1">
        <img src="./image/slide-01.jpg" alt="슬라이드이미지1">
      </a>
    </div>
    <div class="content slide2">
      <a href="#none2">
        <img src="./image/slide-02.jpg" alt="슬라이드이미지2">
      </a>
    </div>
    <div class="content slide3">
      <a href="#none3">
        <img src="./image/slide-03.jpg" alt="슬라이드이미지3">
      </a>
    </div>

    <div class="btn">
      <label for="tab1"></label>
      <label for="tab2"></label>
      <label for="tab3"></label>
    </div>
  </div>
</body>

</html>
선생님 혹시 visibility 자리에 대신 z-index를 넣어서 check 되었을 떄
check된 상품이 제일 위로 올라 오게 하는 방법은 잘못된 방법인가요?
만약 잘못된 방법이 아니라면 둘 중 어느 것이 더 선호 되는 방법인가요 ?
항상 친절한 답변 감사드립니다 ㅠ

답변 3

2

그렇게 하셔도 됩니다.

:checked 전에 z-index보다 :checed 되었을 때 z-index를 높여주셔도 됩니다.

그런데 visiblitity가 좀 더 편하실거에요.

1

rudals8920님의 프로필 이미지
rudals8920
질문자

넵 감사합니다!!

0

와 똑똑하세요 !! 알아갑니다

rudals8920님의 프로필 이미지
rudals8920

작성한 질문수

질문하기