새로운 CSS 레이아웃 요약
이전 레이아웃
플롯의 문제
플롯은 모든 요소의 높이가 똑같다면 괜찮은 방식임
그렇지 않다면, 아래와 같이 레이아웃이 망가질 수 있음
See the Pen 플롯 - 망가진 레이아웃 by taeuk_kang (@taeuk_kang) on CodePen.
플롯 문제 해결
현재
컴포넌트 우선 디자인
새로운 레이아웃
column-count
, column-width
See the Pen column-count by taeuk_kang (@taeuk_kang) on CodePen.
shape-outside
신기한 방식
See the Pen shape-outside by taeuk_kang (@taeuk_kang) on CodePen.
flex-wrap
마지막 엘리먼트를 지워보고, 어떻게 영향을 끼치는지 확인하자
그리고 flex: 0 0 auto;
로 변경해보자.
flex: 0 0 auto;
= flex-grow
, flex-shrink
, flex-basis
순서로 배치됨
이게 grid
와 flex
에 가장 큰 차이라고 생각된다.
grid
에서는 아무리 찾아봐도, 각 행의 길이를 다르게 하는 방법을 모르겠다… (아직 공부가 부족한가…)
See the Pen flex-wrap by taeuk_kang (@taeuk_kang) on CodePen.
그리드 레이아웃
* 내가 몰랐던 사실
grid-gap
, grid-column-gap
, grid-row-gap
을 grid
를 빼고 사용이 가능하게 바뀌었다.
이제는 gap
, column-gap
, row-gap
으로 사용 가능하다.
하지만, 아직 브라우저 지원률은 grid
를 붙인 것이 높은 듯 하다.
IE는 확인해봐야 알 듯… (내가 알기로 폴리필을 해도 grid-gap
지원 안했던 것 같은데…)
그리드 레이아웃 빈칸은 .
으로 표시
1 | grid-template-areas: |
배치와 정렬
grid-align-slef
See the Pen grid-align-self by taeuk_kang (@taeuk_kang) on CodePen.
align-content: space-between;
justify-content: space-between;
See the Pen grid-align-content by taeuk_kang (@taeuk_kang) on CodePen.
justify-items
,justify-self
See the Pen grid-justify by taeuk_kang (@taeuk_kang) on CodePen.
★반응형 디자인
flex
-grow
, -shrink
, -basis
커지는 비율, 작아지는 비율, 플렉스 아이템의 기본값(넓이·높이)
See the Pen flex-basis by taeuk_kang (@taeuk_kang) on CodePen.
★소스 순서와 표현 순서
grid-auto-flow
grid-auto-flow: dense
를 해제시켜보고 차이를 이해
See the Pen grid-auto-flow by taeuk_kang (@taeuk_kang) on CodePen.
order
그리드에서는 사용 용도가 불분명한 편, 애초에 grid-area
로 숫자·이름 둘다 지정할 수 있기 때문에
See the Pen layout-order by taeuk_kang (@taeuk_kang) on CodePen.
display: contents
인정하지 않은 자식 요소도 플렉스 또는 그리드 레이아웃의 구성요소가 될 수 있게 만듦
See the Pen display: contents by taeuk_kang (@taeuk_kang) on CodePen.
준비하는 미래
support 문법 발견
1 | supports (display: grid) { |