>  기사  >  웹 프론트엔드  >  Firefox 및 Opera에서 `max-width`가 `display: table-cell` 내부의 이미지를 무시하는 이유는 무엇입니까?

Firefox 및 Opera에서 `max-width`가 `display: table-cell` 내부의 이미지를 무시하는 이유는 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2024-10-27 14:24:29722검색

Why Does `max-width` Ignore Images Inside `display: table-cell` in Firefox and Opera?

최대 너비 내부 디스플레이: table-cell의 브라우저 불일치

특정 상황에서는 디스플레이 내에서 최대 너비 스타일 속성이 무시됩니다. : Firefox 및 Opera의 테이블 셀 요소는 Chrome 및 IE에서 올바르게 표시되는 경우에도 마찬가지입니다. 이러한 불일치는 원인과 가장 적절한 해결책에 대한 의문을 제기합니다.

원인

W3C 사양에 따르면 max-width는 인라인 요소에 적용되지 않습니다. 그러나 디스플레이 내의 이미지: table-cell은 대부분의 브라우저에서 블록과 유사한 것으로 간주되는 반면 Firefox 및 Opera는 이를 인라인으로 처리합니다. 이러한 해석의 차이로 인해 일관되지 않은 동작이 발생합니다.

해결 방법

한 가지 해결 방법은 디스플레이: 테이블 및 디스플레이가 있는 다른 div 안에 디스플레이: 테이블-셀 래퍼 div를 배치하는 것입니다. 테이블 레이아웃: 고정됨. 이로 인해 Firefox와 Opera는 최대 너비 규칙을 준수하게 됩니다.

<code class="html"><div style="display: table">
  <div style="display: table-cell; padding: 15px; width: 200px">
    <img src="image.jpg" style="max-width: 100%" />
    <p>
      Lorem ipsum dolor sit amet, consectetur adipiscing elit. ...
    </p>
  </div>
</div></code>

권장

가장 표준을 준수하는 접근 방식은 디스플레이 내의 이미지(table-cell)를 포함하여 인라인 요소에 최대 너비를 사용하지 않는 것입니다. 대신, 그러한 요소의 너비를 제어하기 위한 대체 방법을 사용하십시오.

위 내용은 Firefox 및 Opera에서 `max-width`가 `display: table-cell` 내부의 이미지를 무시하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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