미디어 쿼리가 필요 없는 유동 레이아웃 전환: 종합 가이드
웹사이트를 디자인할 때 리소스를 사용하지 않고도 데스크톱과 모바일 레이아웃 사이를 원활하게 전환할 수 있습니다. 미디어 쿼리는 어려운 작업이 될 수 있습니다. 이 가이드에서는 다양한 화면 크기에 우아하게 적응하는 유동적인 레이아웃을 얻기 위해 최신 CSS, 특히 클램프(), 그리드, minmax() 및 flexbox를 활용하는 기술을 자세히 살펴봅니다.
데스크톱에서는 3열 레이아웃, 모바일에서는 1열 레이아웃이 있습니다. 이러한 전환을 달성하기 위해 반복 열을 기반으로 하는 특정 그리드 레이아웃에 중점을 둘 것입니다. 데스크탑에서는 그리드 템플릿 열: 반복(3, 33%)을 사용하여 3열 레이아웃을 쉽게 만들 수 있습니다. 그러나 더 작은 화면 크기로 전환함에 따라 레이아웃이 단일 열로 축소되기 전에 두 개의 열로 이동하는 문제에 직면합니다.
미디어 쿼리는 간단한 솔루션을 제공하지만 미디어 쿼리에만 의존하는 접근 방식을 추구합니다. 최신 CSS 속성. 이를 달성하기 위해 우리는 그리드 템플릿 열(repeat(clamp(1, calc(100% - 500px), 3), 33%)과 함께 클램프() 함수를 사용합니다. 클램프() 함수를 사용하면 최소값, 선호하는 값, 최대값을 정의할 수 있습니다. 이 경우 최소값은 1열, 선호값은 반복(3)열, 최대값은 100% - 500px로 설정하겠습니다.
화면 크기가 작아질수록 calc(100) % - 500px) 표현식은 0에 가까워지고, 클램프() 함수는 1에 가까운 값을 출력하게 됩니다. 그러면 열 수가 1로 줄어들어 레이아웃이 효과적으로 만들어집니다. 단일 열.
또 다른 실행 가능한 솔루션은 flex-basis 속성 내에서 flexbox와 max(0px, (400px - 100vw)*1000)를 사용하는 것입니다. 이 공식을 사용하면 뷰포트가 400px보다 넓을 때(400px가 원하는 중단점이라고 가정) 0px가 되는 flex-basis를 정의할 수 있습니다. 뷰포트 너비가 400px보다 작은 경우 flex-basis는 큰 값을 취하여 요소를 단일 열 레이아웃으로 효과적으로 래핑합니다.
이러한 기술을 활용하여 여러 요소 간에 원활하게 전환되는 유동적인 레이아웃을 만들 수 있습니다. 열과 단일 열을 사용하여 미디어 쿼리 없이 반응형 사용자 경험을 제공합니다.
위 내용은 미디어 쿼리를 사용하지 않고 유동 레이아웃 전환을 달성하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!