>  기사  >  웹 프론트엔드  >  Internet Explorer의 iFrame에서 Z-색인이 PDF와 작동하지 않는 이유는 무엇입니까?

Internet Explorer의 iFrame에서 Z-색인이 PDF와 작동하지 않는 이유는 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2024-10-28 02:16:02729검색

Why Doesn't z-index Work with PDFs in iFrames in Internet Explorer?

z-index가 iFrame의 PDF와 함께 IE에서 작동하지 않습니다

Internet Explorer(IE)에서 z-index를 활용하려고 합니다. PDF가 포함된 iFrame의 색인으로 인해 예기치 않은 동작이 발생할 수 있습니다. Chrome과 같은 다른 브라우저에서 원활하게 작동함에도 불구하고 IE 사용자는 어려움에 직면합니다.

이 문제를 이해하려면 IE의 "창이 있는" 요소와 "창이 없는" 요소의 개념을 자세히 살펴봐야 합니다. ActiveX 컨트롤 및 선택 드롭다운과 같은 창 요소는 브라우저의 기본 MSHTML 평면 외부에 렌더링됩니다. 대조적으로, div 및 입력 필드와 같은 창 없는 요소는 이 평면 내에서 렌더링됩니다.

창 있는 요소와 창 없는 요소 상호 작용

결정적으로, 창 있는 요소가 항상 우선합니다. Z-색인에 관계없이 창 없는 요소입니다. PDF가 포함된 iFrame에 문제가 발생하는 곳입니다. IE에서 PDF는 창 요소로 처리됩니다. 즉, 창 없는 요소의 Z 인덱스가 더 높더라도 항상 창 없는 요소 위에 표시됩니다.

해결책: 다른 iFrame을 사용한 수정

안타깝게도 이 문제를 직접적으로 해결할 수 있는 방법은 없습니다. 그러나 PDF와 페이지 콘텐츠 사이에 다른 iFrame을 도입하면 문제를 해결할 수 있습니다. 이 "커버" iFrame은 음수 Z-색인을 가지므로 보기에서 숨겨진 상태로 유지됩니다. PDF의 오버플로를 차단하면 일반적인 Z-색인 동작이 기본 페이지 콘텐츠에 적용되어 텍스트나 기타 요소가 PDF 위에 나타날 수 있습니다.

구현 세부 정보

다음 코드는 솔루션을 간략하게 설명합니다.

HTML:

<code class="html"><div id="outer">
  <div id="inner">my text that should be on top</div>
  <iframe class="cover" src="about:blank"></iframe>
</div>

<iframe id="pdf" src="http://legallo1.free.fr/french/CV_JLG.pdf" width="200" height="200"></iframe></code>

CSS:

<code class="css">#outer {
  position: relative;
  left: 150px;
  top: 20px;
  width: 100px;
  z-index: 2;
}

#inner {
  background: red;
}

.cover {
  border: none;
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: -1;
}

#pdf {
  position: relative;
  z-index: 1;
}</code>

결론

음수 Z-색인이 있는 다른 iFrame을 활용하여 PDF와 페이지 콘텐츠 사이에 효과적으로 장벽을 만듭니다. 이 해결 방법을 사용하면 예상되는 Z-색인 동작을 허용하여 IE의 PDF 위에 텍스트나 기타 요소가 나타날 수 있습니다. 이 솔루션은 이상적이지는 않지만 IE의 Z-색인 문제를 해결하는 수단을 제공합니다.

위 내용은 Internet Explorer의 iFrame에서 Z-색인이 PDF와 작동하지 않는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.