표 셀 내부 이미지의 `max-width: 100%`가 Chrome 및 IE와 비교하여 Firefox 및 Opera에서 다르게 동작하는 이유는 무엇입니까?

Susan Sarandon
풀어 주다: 2024-10-26 14:37:02
원래의
748명이 탐색했습니다.

Why does `max-width: 100%` on an image inside a table cell behave differently in Firefox and Opera compared to Chrome and IE?

Firefox 및 Opera에서 Max-Width 속성 동작의 불일치

특정 시나리오에서 Firefox 및 Opera 브라우저는 CSS max 해석에서 Chrome 및 IE에 비해 불일치를 나타냅니다. -너비 속성. 특히, 이미지가 테이블 셀(디스플레이: table-cell) 내에 배치되고 최대 너비: 100%가 할당되면 Firefox 및 Opera에서는 이미지 너비가 무시되지만 다른 브라우저에서는 올바르게 제한됩니다.

이 동작의 이유를 이해하려면 CSS max-width 속성이 W3C 사양에 정의되어 블록 수준 요소에만 적용된다는 점에 유의하는 것이 중요합니다. 와 같은 인라인 요소는 이 속성의 영향을 받지 않습니다. 제공된 HTML에서 요소는 기본적으로 display: inline으로 설정되어 있으며 이는 Firefox와 Opera가 최대 너비 스타일을 무시하는 이유를 설명합니다.

해결 방법:

이 문제를 해결하고 의도한 이미지 너비를 적용하려면 다음이 필요합니다. 표시할 요소: CSS 스타일 내에서 차단합니다. 그러나 이 해결 방법을 사용하면 페이지 레이아웃과 형식이 변경될 수 있습니다.

규정 준수 솔루션:

표준 준수 솔루션은 래퍼 div 내에 표 셀(표시: table-cell)을 배치하는 것입니다. 이는 표시: 테이블 및 테이블 레이아웃: 고정으로 설정되어 있습니다. 이 접근 방식을 사용하면 테이블 내의 모든 하위 요소가 최대 너비: 100%인 요소.

대체 접근 방식:

또 다른 옵션은 JavaScript를 활용하여 디스플레이 내 최대 너비에 대한 브라우저 지원을 감지하는 것입니다: 테이블 셀 요소. 브라우저가 기본적으로 이 동작을 지원하지 않는 경우 JavaScript를 사용하여 대체 레이아웃 전략을 구현할 수 있습니다.

코드 예:

<code class="HTML"><div style="display: table;">
    <div style="display: table-cell; padding: 15px; width: 200px;">
        <img src="..." style="display: block; max-width: 100%" />
        <p>Text content...</p>
    </div>
</div></code>
로그인 후 복사

위 내용은 표 셀 내부 이미지의 `max-width: 100%`가 Chrome 및 IE와 비교하여 Firefox 및 Opera에서 다르게 동작하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!