Flex Order: 반응형 뷰를 위한 항목 재배열의 과제
반응형 레이아웃을 디자인할 때 flex order 속성은 다양한 화면 크기의 요소 순서. 그러나 특정 시나리오에서는 플렉스 컨테이너에서 순서 사용에 제한이 있을 수 있습니다.
문제: 모바일 주문, 데스크톱 실패
내부에 3개의 div가 있는 레이아웃을 고려해보세요. 모바일 화면에 수직으로 배열된 컨테이너입니다. 플렉스 순서를 사용하여 div를 모바일에서는 2, 1, 3, 데스크톱에서는 1, 2, 3으로 재정렬하는 것을 목표로 합니다. 그러나 데스크톱 보기에서는 레이아웃이 손상됩니다.
근본 원인: Flex와 호환되지 않는 Row Wrap
문제는 flexbox가 행 줄바꿈 시스템은 항목이 새 행으로 줄 바꿈됨을 의미합니다. 원하는 레이아웃에서는 동일한 행 내에서 한 항목이 다른 항목 아래로 감싸지기를 원합니다. 이는 직선형 플렉스 컨테이너에서는 불가능합니다.
플렉스 항목은 구부러지지 않은 직선 행으로 제한되므로 행 줄 바꿈을 유지하면서 div3는 div2 아래로 줄 바꿈될 수 없습니다. 이로 인해 보기 흉한 간격과 깨진 레이아웃이 발생합니다.
중첩된 컨테이너 및 열 줄바꿈
한 가지 가능한 해결책은 div2와 div3를 자체 컨테이너 내에 중첩하여 하나의 컨테이너로 만드는 것입니다. div1의 형제입니다. 그런 다음 이 새 컨테이너는 열 래핑을 사용하여 플렉스 컨테이너가 되어 간격을 제거하고 항목을 올바르게 정렬할 수 있습니다.
그러나 이 시나리오에서 중첩된 플렉스 컨테이너는 모든 항목에 대한 요구 사항을 위반합니다. 동일한 상위를 가지려면 order 속성이 상위 요소에 적용되어야 하기 때문입니다.
열 탐색 Wrap
다른 접근 방식은 컨테이너에 행 랩 대신 열 랩을 사용하는 것입니다. 컨테이너의 플렉스 방향을 열로 설정하고 고정된 높이를 제공함으로써 항목이 래핑되는 위치를 제어할 수 있습니다.
이 기술을 사용하면 다음에서 설명하는 것처럼 모바일 및 데스크톱 보기 모두에 대해 원하는 재배치를 달성할 수 있습니다. 제공된 CSS 및 HTML 코드 조각.
위 내용은 반응형 레이아웃에서 항목을 재배열할 때 Flex Order의 한계를 어떻게 극복할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!