Grid와 Flexbox는 모두 CSS의 강력한 레이아웃 시스템으로, 각각 다양한 유형의 레이아웃 작업을 위해 설계되었습니다. 다음은 차이점을 설명하는 예와 함께 두 가지를 비교한 것입니다.
목적:
Flexbox는 1차원 레이아웃을 위해 설계되었습니다. 단일 축(행 또는 열)을 따라 항목의 정렬 및 간격을 처리합니다.
주요 기능:
예:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Flexbox Example</title> <style> .container { display: flex; justify-content: space-between; /* Distributes space between items */ align-items: center; /* Aligns items vertically in the center */ height: 100vh; background-color: lightgrey; } .item { background-color: dodgerblue; color: white; padding: 20px; text-align: center; flex: 1; /* Makes items flexible */ margin: 10px; } </style> </head> <body> <div class="container"> <div class="item">Item 1</div> <div class="item">Item 2</div> <div class="item">Item 3</div> </div> </body> </html>
설명된 기능:
목적:
그리드는 2차원 레이아웃을 위해 설계되었습니다. 행과 열을 동시에 처리하므로 복잡한 레이아웃이 가능합니다.
주요 기능:
예:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Grid Example</title> <style> .container { display: grid; grid-template-columns: repeat(3, 1fr); /* Creates three equal-width columns */ grid-gap: 10px; /* Adds space between grid items */ height: 100vh; background-color: lightgrey; } .item { background-color: dodgerblue; color: white; padding: 20px; text-align: center; } .item:nth-child(2) { grid-column: span 2; /* Makes the second item span two columns */ } </style> </head> <body> <div class="container"> <div class="item">Item 1</div> <div class="item">Item 2</div> <div class="item">Item 3</div> </div> </body> </html>
설명된 기능:
Flexbox와 Grid 중에서 선택하는 것은 레이아웃의 복잡성과 1차원 또는 2차원 제어가 필요한지 여부에 따라 다릅니다. 종종 두 가지를 함께 사용하여 원하는 레이아웃을 얻을 수 있습니다.
위 내용은 그리드와 Flexbox의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!