> 웹 프론트엔드 > CSS 튜토리얼 > IE11이 레이아웃 계산에 절대 위치 Flex 항목을 포함하는 이유는 무엇입니까?

IE11이 레이아웃 계산에 절대 위치 Flex 항목을 포함하는 이유는 무엇입니까?

Mary-Kate Olsen
풀어 주다: 2024-12-21 08:03:10
원래의
317명이 탐색했습니다.

Why Does IE11 Include Absolutely Positioned Flex Items in Layout Calculations?

IE11의 흐름에서 고려되는 절대 위치 Flex 항목

문제

콘텐츠가 채워진 두 개의 div와 하나의 절대 위치에 있는 배경 div가 있는 Flexbox 컨테이너에서 , IE11(및 버전 52 이전의 Firefox)은 공간 분포를 계산할 때 절대 위치 div를 고려합니다. 이 동작은 절대 위치 항목이 플렉스 레이아웃에 참여하지 않는다는 Flexbox 사양에서 벗어납니다.

해결 방법

절대 위치 Div 재배치

가능한 해결책은 그림과 같이 절대 위치에 있는 div를 다른 두 div 사이로 이동하는 것입니다. 아래:

<div class="container">
    <div class="c1">Content 1</div>
    <div class="bg">Background</div>
    <div class="c2">Content 2</div>
</div>
로그인 후 복사

Flex Wrap 사용

또 다른 해결 방법은 Flex Wrap을 사용하여 절대 위치에 있는 항목을 새 줄로 강제로 감싸는 것입니다. 이렇게 하면 다른 항목의 공간 분배에 영향을 주지 않습니다.

.container {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
}
로그인 후 복사

Firefox(v52까지): 기본 동작 재정의

Firefox(이전 버전) 52), 이 CSS 속성을 사용하여 기본 동작을 재정의하고 흐름에서 절대 위치에 있는 div를 제거할 수 있습니다.

.container {
    display: -moz-box;  /* Firefox specific property */
    -moz-box-orient: horizontal;  /* Firefox specific property */
}
로그인 후 복사

위 내용은 IE11이 레이아웃 계산에 절대 위치 Flex 항목을 포함하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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