퍼블리싱
[css]Flex아이템 li 요소 4개씩 한 줄에 배치하기
lionbum
2024. 8. 26. 17:10
웹 개발 시 리스트(ul, li) 요소를 사용해 메뉴나 갤러리 등을 구성할 때,
Flexbox를 이용하면 손쉽게 원하는 레이아웃을 만들 수 있습니다.
이번 글에서는 ul 안의 li 요소를 4개씩 한 줄에 배치하는 방법을 알아보겠습니다.
1. 기본 Flexbox 설정
ul.news {
display: flex;
padding: 0;
margin: 0;
list-style: none;
}
이렇게 하면 li 요소들이 가로로 일렬로 배치됩니다.
2. li 요소 4개씩 한 줄에 배치하기(모바일에서는 2개씩 배치)
li 요소를 4개씩 한 줄에 배치하려면, 각 li 요소의 너비를 25%로 설정합니다.
이는 한 줄을 네 등분해서 li 요소들이 균등하게 배치되도록 하기 위함입니다.
ul.news li {
width: 25%; /* 각 li 요소의 너비를 25%로 설정 */
box-sizing: border-box; /* padding과 border가 포함되도록 설정 */
}
@media (max-width: 600px) {
ul.news li {
width: 50%; /* 한 줄에 2개씩 배치 */
}
}
모바일 환경을 위한 미디어 쿼리를 추가하여 화면 너비가 줄어들 때 li 요소가 2개씩 한 줄에 보이도록 조정합니다. 예를 들어, 화면 너비가 600px 이하일 때 li 요소의 너비를 50%로 변경합니다.
3. Flexbox 줄 바꿈 설정 (flex-wrap)
만약 화면 크기에 따라 li 요소가 줄 바꿈 없이 좁아지는 것이 아니라, 자동으로 다음 줄로 넘어가게 하고 싶다면 ul 요소에 flex-wrap: wrap; 속성을 추가합니다.
ul.news {
display: flex;
flex-wrap: wrap; /* 요소들이 화면 너비에 맞게 줄 바꿈이 되도록 설정 */
padding: 0;
margin: 0;
list-style: none;
}
4. 정리
- flex-wrap: wrap;을 설정하지 않으면 li 요소들이 한 줄에 모두 배치되려 하기 때문에 각 요소의 크기가 줄어들 수 있습니다.
- 각 li 요소의 너비를 25%로 설정해 한 줄에 4개씩 배치합니다.
- 미디어 쿼리를 사용하여 모바일에서는 2개씩 한 줄에 깔끔하게 배치됩니다.
이 간단한 방법으로 li 요소들을 깔끔하게 정렬하여 다양한 레이아웃을 손쉽게 구현할 수 있습니다.
728x90
반응형