성배 레이아웃과 이중 비행 날개 레이아웃은 주로 다음 문제를 해결하는 데 사용됩니다.
1. 3열 레이아웃, 양쪽 너비 고정, 가운데 조정 가능. 2. 중간 열이 브라우저에 먼저 로드되고 렌더링됩니다.
해결책:
먼저 가운데 div를 앞쪽에 쓴 다음 왼쪽, 오른쪽에 씁니다. 이렇게 하면 두 번째 문제가 해결되고 가운데 div가 먼저 렌더링됩니다.
그러나 여기에는 앞에 쓰여진 내용도 앞에 표시된다는 문제가 있습니다.
이 문제를 해결하기 위해 세 개의 열을 모두 부동으로 만듭니다. 그런 다음 가운데 열 너비를 100%로 설정합니다.
이때, 가운데 열이 첫 번째 행에 있고, 왼쪽과 오른쪽 열이 두 번째 행에 있습니다. 이때 왼쪽 열은 중앙 왼쪽으로, 오른쪽 열은 중앙 오른쪽으로 이동하기만 하면 됩니다. 왼쪽과 오른쪽에 고정 너비(예: 150px)를 추가합니다.
그런 다음 왼쪽 열에 음수 여백을 추가합니다. margin-left: -100%, 오른쪽 열에 음수 여백을 추가합니다. margin-left: -150px;
이제 3열 레이아웃이 형성된 것을 볼 수 있습니다. 그런데 문제는 중간 div의 내용이 차단되어 있다는 것입니다. 이 문제를 해결하면서 성배 레이아웃과 이중 날개 레이아웃은 서로 다른 아이디어를 가지기 시작했습니다.성배 레이아웃은 먼저 3열 div 외부에 div를 배치합니다. 의미 태그 기사를 사용할 수 있습니다. 기사의 왼쪽 및 오른쪽 패딩 왼쪽 및 오른쪽 패딩을 설정한 후 왼쪽 및 오른쪽 div에 상대적인 상대 레이아웃 위치를 사용합니다. 이 시점에서 세 개의 열이 모두 가운데 쪽으로 들여쓰기되어 있는 것을 볼 수 있습니다. 그런 다음 왼쪽과 오른쪽 열에 각각 오른쪽과 왼쪽의 음수 값을 추가하여 목표를 달성합니다.
코드는 다음과 같습니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
|
이중 날개 레이아웃은 중간 div 내부에 하위 div를 생성하여 콘텐츠를 배치합니다. 하위 div에서 왼쪽 및 오른쪽 열 div를 위한 공간을 남기는 데 margin-left 및 margin-right가 사용됩니다.
코드는 다음과 같습니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
|
다음으로 세 열의 높이를 동일하게 하려면 세 열에 각각 padding-bottom: 9999px; margin-bottom: -9999px; 속성을 추가하여 세 열의 길이를 무한대로 늘릴 수 있습니다. 세 개의 열 외부에 있는 기사 태그에 Overflow: Hidden; 속성을 추가하기만 하면 됩니다.
종료.