안녕하세요! CSS에서 가장 멋지고 강력한 도구 중 하나를 사용할 준비가 되셨나요? 오늘은 Flexbox에 대해 알아보겠습니다. 깔끔하고 반응성이 뛰어난 방식으로 항목을 정렬하거나 공간을 분배하는 데 어려움을 겪고 있다면 Flexbox가 새로운 친구가 될 것입니다.
Flexbox(Flexible Box Layout)는 요소의 크기를 알 수 없거나 동적인 경우에도 컨테이너 내부 요소의 정렬, 간격, 분포를 제어할 수 있는 1차원 레이아웃 시스템입니다.
Flexbox를 사용 가능한 공간에 따라 늘리거나 줄이거나 정렬할 수 있는 레이아웃을 만드는 도구 상자라고 생각하세요.
Flexbox를 사용하려면 컨테이너에 display: flex만 설정하면 됩니다. 그렇게 하면 해당 컨테이너의 모든 직계 하위 항목이 플렉스 아이템이 되며 즉시 다르게 동작하기 시작합니다.
<div class="flex-container"> <div class="item">Item 1</div> <div class="item">Item 2</div> <div class="item">Item 3</div> </div>
.flex-container { display: flex; }
이제 .flex-container 내부의 모든 항목은 플렉스 항목이며 쉽게 조작할 수 있습니다.
기본적으로 Flexbox는 항목을 행(수평)으로 정렬하지만, 열(수직)로 정렬하려면 어떻게 해야 할까요? Flexbox는 flex-direction 속성
을 통해 완벽한 제어 기능을 제공합니다..flex-container { display: flex; flex-direction: column; }
이제 아이템이 수직으로 쌓이게 됩니다!
3개의 품목이 있고 이를 용기에 고르게 펴고 싶다고 가정해 보겠습니다. justify-content가 유용한 곳이 바로 여기입니다.
.flex-container { display: flex; justify-content: space-between; }
이제 항목은 컨테이너 내에서 균등한 간격으로 배치됩니다.
justify-content가 가로 정렬을 제어하는 동안 align-items는 세로 정렬(또는 교차 축을 따라)을 관리합니다. 옵션은 다음과 같습니다.
.flex-container { display: flex; align-items: center; }
이제 모든 항목이 컨테이너 내에서 세로 중앙에 배치됩니다.
가끔 특정 항목을 늘리거나 줄이거나 시작 크기를 고정하고 싶을 때가 있습니다. flex-grow, flex-shrink 및 flex-basis 속성을 사용하면 해당 동작을 제어할 수 있습니다.
예:
.item { flex-grow: 1; flex-shrink: 0; flex-basis: 100px; }
이렇게 하면 항목이 100px에서 시작하지만 필요한 경우 축소하지 않고 추가 공간을 채울 수 있도록 늘릴 수 있습니다.
이 모든 것을 예시로 정리해보자!
<div class="flex-container"> <div class="item">Item 1</div> <div class="item">Item 2</div> <div class="item">Item 3</div> </div>
.flex-container { display: flex; flex-direction: row; justify-content: space-around; align-items: center; height: 300px; background-color: #f0f0f0; } .item { background-color: #4CAF50; padding: 20px; color: white; flex-grow: 1; }
이 예에서는:
Flexbox는 CSS에서 어려움을 겪었던 레이아웃 디자인의 복잡성을 상당 부분 제거합니다. 더 이상 떠있지 않고, 클리어에 대해 걱정할 필요가 없으며, 반응형 디자인이 훨씬 쉬워졌습니다!
리도이 하산
위 내용은 Flexbox – 공간을 정렬하고 분배하는 현대적인 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!