불투명도가 변경되면 div 뒤의 확인란이 표시됩니다.

Megaptera novaeangliae

매우 이상한 HTML 동작을 발견했습니다. 일반적으로 다른 요소 (예 : div) 뒤에 숨겨진 확인란은 불투명도 또는 컨테이너의 불투명도가 1 미만으로 설정되면 표시됩니다.

기본 설정은 다음과 같습니다. 회색 div 뒤에 체크 박스 세트가 있습니다.

.checkboxes {
  display: flex;
}

.tooltip {
  position: absolute;
  width: 300px;
  height: 20px;
  background-color: #ccc;
}
<div class="container">
  <div class="tooltip"></div>
  <div class="checkboxes">
    <div class="checkbox">
      <label>
        <input type="checkbox">
        <span>Foo</span>
      </label>
    </div>
    <div class="checkbox">
      <label>
        <input type="checkbox">
        <span>Bar</span>
      </label>
    </div>
    <div class="checkbox">
      <label>
        <input type="checkbox">
        <span>Baz</span>
      </label>
    </div>
    <div class="checkbox">
      <label>
        <input type="checkbox">
        <span>FooBar</span>
      </label>
    </div>
    <div class="checkbox">
      <label>
        <input type="checkbox">
        <span>FooBaz</span>
      </label>
    </div>
  </div>
</div>

예상대로 체크 박스를 볼 수 없습니다. 그러나 불투명도 또는 컨테이너의 불투명도를 변경하면 표시됩니다.

.checkboxes {
  display: flex;
}

.tooltip {
  position: absolute;
  width: 300px;
  height: 20px;
  background-color: #ccc;
}
<div class="container">
  <div class="tooltip"></div>
  <div class="checkboxes">
    <div class="checkbox">
      <label>
        <input type="checkbox">
        <span>Foo</span>
      </label>
    </div>
    <div class="checkbox" style="opacity: 0.5">
      <label>
        <input type="checkbox">
        <span>Bar</span>
      </label>
    </div>
    <div class="checkbox">
      <label>
        <input type="checkbox">
        <span>Baz</span>
      </label>
    </div>
    <div class="checkbox" style="opacity: 0.5">
      <label>
        <input type="checkbox">
        <span>FooBar</span>
      </label>
    </div>
    <div class="checkbox">
      <label>
        <input type="checkbox">
        <span>FooBaz</span>
      </label>
    </div>
  </div>
</div>

물론 z-index회색 div를 설정하여이를 피할 수 있습니다 .

.checkboxes {
  display: flex;
}

.tooltip {
  position: absolute;
  width: 300px;
  height: 20px;
  background-color: #ccc;
  z-index: 10;
}
<div class="container">
  <div class="tooltip"></div>
  <div class="checkboxes">
    <div class="checkbox">
      <label>
        <input type="checkbox">
        <span>Foo</span>
      </label>
    </div>
    <div class="checkbox" style="opacity: 0.5">
      <label>
        <input type="checkbox">
        <span>Bar</span>
      </label>
    </div>
    <div class="checkbox">
      <label>
        <input type="checkbox">
        <span>Baz</span>
      </label>
    </div>
    <div class="checkbox" style="opacity: 0.5">
      <label>
        <input type="checkbox">
        <span>FooBar</span>
      </label>
    </div>
    <div class="checkbox">
      <label>
        <input type="checkbox">
        <span>FooBaz</span>
      </label>
    </div>
  </div>
</div>

따라서 해결책은 분명하지만 그럼에도 불구하고 여전히 질문이 있습니다. 왜 그런 일이 처음에 일어 났습니까? 첫 번째와 두 번째 스 니펫이 다른 이유는 무엇입니까?

그건 그렇고, 첫 번째 단락에서 언급했듯이 불투명도가 1로 설정되면 확인란이 숨겨진 상태로 유지된다는 점을 언급 할 가치가 있습니다.

.checkboxes {
  display: flex;
}

.tooltip {
  position: absolute;
  width: 300px;
  height: 20px;
  background-color: #ccc;
}
<div class="container">
  <div class="tooltip"></div>
  <div class="checkboxes">
    <div class="checkbox">
      <label>
        <input type="checkbox">
        <span>Foo</span>
      </label>
    </div>
    <div class="checkbox" style="opacity: 1">
      <label>
        <input type="checkbox">
        <span>Bar</span>
      </label>
    </div>
    <div class="checkbox">
      <label>
        <input type="checkbox">
        <span>Baz</span>
      </label>
    </div>
    <div class="checkbox" style="opacity: 1">
      <label>
        <input type="checkbox">
        <span>FooBar</span>
      </label>
    </div>
    <div class="checkbox">
      <label>
        <input type="checkbox">
        <span>FooBaz</span>
      </label>
    </div>
  </div>
</div>

Sebastian Brosch

이는 opacity새로운 스택 컨텍스트를 발생시키기 때문 입니다. 이는 다음 CSS 속성에서도 발생할 수 있습니다.

규칙 8.2 : 불투명도가 1 미만인 모든 불투명도 하위 항목은 트리 순서로 원자 적으로 생성 된 스택 컨텍스트를 만듭니다.

.checkboxes {
  display: flex;
}

.tooltip {
  position: absolute;
  width: 300px;
  height: 20px;
  background-color: #ccc;
}
<div class="container">
  <div class="tooltip"></div><!-- own stack context and above the other elements -->
  <div class="checkboxes">
    <div class="checkbox" style="opacity:0.5"><!-- own stack context and later on the painting order than position -->
      <label>
        <input type="checkbox">
        <span>Bar</span>
      </label>
    </div>
    <div class="checkbox">
      <label>
        <input type="checkbox">
        <span>Bar</span>
      </label>
    </div>
  </div>
</div>

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

div의 다른 요소를 가리킬 때 이미지 불투명도 변경

분류에서Dev

스크롤 할 때만 div의 불투명도 변경-가만히 서있을 때 전체 불투명도로 다시 변경

분류에서Dev

클릭시 div의 jquery 변경 불투명도

분류에서Dev

이미지 위로 마우스를 가져 가면 이미지 아래의 이미지 불투명도 및 제목 색상이 변경됩니다 ... 또한 제목이 두 줄이되면 형식이 손상됩니다.

분류에서Dev

선택한 요소가 없으면 확인란을 선택 취소합니다. 하나의 확인란 만 선택하십시오. 관련 div 컨테이너의 배경색을 변경합니다.

분류에서Dev

URL 표시 줄의 가시성이 변경되면 페이지가 맨 위로 스크롤됩니다.

분류에서Dev

의사 요소 :: before를 사용하여 Div에서 낮은 불투명도 배경 이미지 표시

분류에서Dev

화면 해상도가 변경되면 div의 높이를 확장하고 축소합니다.

분류에서Dev

CSS로 배경 이미지에 불투명도 추가 시도

분류에서Dev

확인란의 DIV 변경

분류에서Dev

텍스트가 포함 된 이미지의 래퍼 div는 이미지의 밝기 필터를 변경하고 텍스트의 불투명도 필터를 변경할 수 없습니다.

분류에서Dev

불투명도가 변경 되어도 CSS 전환이 요소에 적용되지 않습니다.

분류에서Dev

CSS 키 프레임 + 불투명도 : 0은 완료되면 div를 다시 가져옵니다.

분류에서Dev

이미지가 투명하더라도 특정 이미지 만 뒤에 흰색 배경으로 표시됩니다.

분류에서Dev

확인란이 선택되면 jQuery는 하위 div를 표시합니다.

분류에서Dev

확인란이 선택되지 않은 경우 확인란의 상위 div를 숨기려면 어떻게해야합니까?

분류에서Dev

WP 테마의 배경 Img 슬라이더-상위 요소 불투명도가 콘텐츠를 숨 깁니다.

분류에서Dev

드래그가 작동하도록하려면이 div가 0과 1 사이의 불투명도를 가져야하는 이유

분류에서Dev

JQuery 불투명도가 애니메이션되지 않음

분류에서Dev

반응 앱의 내 확인란이 확인란을 클릭 한 후에도 상태가 변경되지 않습니다.

분류에서Dev

확인란이 선택되어있을 때 DIV의 색상을 어떻게 변경합니까?

분류에서Dev

파일 이름이 변경되면 파일의 해시가 변경됩니까?

분류에서Dev

CSS-95 % 불투명도 배경 이미지 이상의 100 % 불투명 표 셀

분류에서Dev

jQuery를 사용하여 div로 다른 요소의 불투명도 줄이기

분류에서Dev

div가 표시되는 대신 양식이 전송됩니다.

분류에서Dev

이미지 위로 마우스를 가져 가면 링크 이미지의 경우 0.5 불투명도, 툴팁의 경우 불투명도 없음

분류에서Dev

javascript 애니메이션 후 불투명도가 때때로 변경됩니다 (무작위로)

분류에서Dev

CSS div 변경 불투명도, 마우스 오버시 밝기

분류에서Dev

div 불투명도를 변경 (onclick)하는 내 자바 스크립트 코드가 실패하는 이유는 무엇입니까?

Related 관련 기사

  1. 1

    div의 다른 요소를 가리킬 때 이미지 불투명도 변경

  2. 2

    스크롤 할 때만 div의 불투명도 변경-가만히 서있을 때 전체 불투명도로 다시 변경

  3. 3

    클릭시 div의 jquery 변경 불투명도

  4. 4

    이미지 위로 마우스를 가져 가면 이미지 아래의 이미지 불투명도 및 제목 색상이 변경됩니다 ... 또한 제목이 두 줄이되면 형식이 손상됩니다.

  5. 5

    선택한 요소가 없으면 확인란을 선택 취소합니다. 하나의 확인란 만 선택하십시오. 관련 div 컨테이너의 배경색을 변경합니다.

  6. 6

    URL 표시 줄의 가시성이 변경되면 페이지가 맨 위로 스크롤됩니다.

  7. 7

    의사 요소 :: before를 사용하여 Div에서 낮은 불투명도 배경 이미지 표시

  8. 8

    화면 해상도가 변경되면 div의 높이를 확장하고 축소합니다.

  9. 9

    CSS로 배경 이미지에 불투명도 추가 시도

  10. 10

    확인란의 DIV 변경

  11. 11

    텍스트가 포함 된 이미지의 래퍼 div는 이미지의 밝기 필터를 변경하고 텍스트의 불투명도 필터를 변경할 수 없습니다.

  12. 12

    불투명도가 변경 되어도 CSS 전환이 요소에 적용되지 않습니다.

  13. 13

    CSS 키 프레임 + 불투명도 : 0은 완료되면 div를 다시 가져옵니다.

  14. 14

    이미지가 투명하더라도 특정 이미지 만 뒤에 흰색 배경으로 표시됩니다.

  15. 15

    확인란이 선택되면 jQuery는 하위 div를 표시합니다.

  16. 16

    확인란이 선택되지 않은 경우 확인란의 상위 div를 숨기려면 어떻게해야합니까?

  17. 17

    WP 테마의 배경 Img 슬라이더-상위 요소 불투명도가 콘텐츠를 숨 깁니다.

  18. 18

    드래그가 작동하도록하려면이 div가 0과 1 사이의 불투명도를 가져야하는 이유

  19. 19

    JQuery 불투명도가 애니메이션되지 않음

  20. 20

    반응 앱의 내 확인란이 확인란을 클릭 한 후에도 상태가 변경되지 않습니다.

  21. 21

    확인란이 선택되어있을 때 DIV의 색상을 어떻게 변경합니까?

  22. 22

    파일 이름이 변경되면 파일의 해시가 변경됩니까?

  23. 23

    CSS-95 % 불투명도 배경 이미지 이상의 100 % 불투명 표 셀

  24. 24

    jQuery를 사용하여 div로 다른 요소의 불투명도 줄이기

  25. 25

    div가 표시되는 대신 양식이 전송됩니다.

  26. 26

    이미지 위로 마우스를 가져 가면 링크 이미지의 경우 0.5 불투명도, 툴팁의 경우 불투명도 없음

  27. 27

    javascript 애니메이션 후 불투명도가 때때로 변경됩니다 (무작위로)

  28. 28

    CSS div 변경 불투명도, 마우스 오버시 밝기

  29. 29

    div 불투명도를 변경 (onclick)하는 내 자바 스크립트 코드가 실패하는 이유는 무엇입니까?

뜨겁다태그

보관