CSS grid-area: 그리드 아이템 배치
Baseline넓은 지원
모든 주요 브라우저가 지원하는 기능입니다.
CSS grid-area
단축 속성은 그리드 아이템의 위치와 차지할 칸의 수를 설정합니다.
.target {
grid-area: a;
/* grid-area: b; */
/* grid-area: c; */
/* grid-area: c / a; */
/* grid-area: 2 / 2 / 3 / -1; */
}
.grid {
border: 1px dashed #999;
color: #fff;
display: grid;
height: 200px;
gap: 5px;
grid-template:
"a a a" 1fr
"b c c" 1fr
"b c c" 1fr / 1fr 1fr 1fr;
margin: 1em;
position: relative;
width: 200px;
}
.item {
align-items: center;
background: #4011c5;
display: flex;
font-size: 1.5rem;
font-weight: 700;
justify-content: center;
}
.target {
background: #c50a4bff;
}
<div class="grid">
<div class="item target"></div>
</div>
불러오는 중...
구성 속성
grid-area
은 다음 네 속성의 단축 속성입니다.
구문
/* 키워드 값 */
grid-area: auto;
grid-area: auto / auto;
grid-area: auto / auto / auto;
grid-area: auto / auto / auto / auto;
/* <custom-ident> 값 */
grid-area: line-or-area;
grid-area: line-or-area / another-line-or-area;
/* <integer> && <custom-ident>? 값 */
grid-area: 4 line-or-area;
grid-area: 4 line-or-area / 2 another-line-or-area;
/* span && [ <integer> || <custom-ident> ] 값 */
grid-area: span 3;
grid-area: span 3 / span line-or-area;
grid-area: 2 span / another-line-or-area span;
/* 전역 값 */
grid-area: inherit;
grid-area: initial;
grid-area: revert;
grid-area: revert-layer;
grid-area: unset;
grid-area
속성에는 한 개에서 네 개까지의 <grid-line>
값을 사용합니다. 각각의 값은 /
로 구분하며, 순서는 grid-row-start
, grid-column-start
, grid-row-end
, grid-column-end
입니다.
grid-column-end
를 생략했고,grid-column-start
가<custom-ident>
형식이면,grid-column-end
도 같은 값으로 설정합니다. 이외의 경우auto
로 설정합니다.grid-row-end
를 생략했고,grid-row-start
가<custom-ident>
형식이면,grid-row-end
도 같은 값으로 설정합니다. 이외의 경우auto
로 설정합니다.grid-column-start
를 생략했고,grid-row-start
가<custom-ident>
형식이면, 모든 구성 속성을 같은 값으로 설정합니다. 이외의 경우grid-row-start
를 제외한 나머지를auto
로 설정합니다.
<grid-line>
값은 아래 형식 중 하나로 구성합니다.
값
auto
그리드 아이템이 자동으로 배치되고 1행, 1열만 차지합니다.
<custom-ident>
주어진 식별자와 같은 이름, 또는
-start
/-end
접미사가 붙은 이름의 분할선이 존재하면, 그리드 아이템의 끝점을 해당 분할선으로 설정합니다. 예를 들어,grid-area: areaA
는areaA
라는 이름의 분할선에서 1열과 1행, 또는areaA-start
분할선에서areaA-end
분할선까지의 그리드 영역에 대응합니다.이름 있는 영역을 지정한 경우, 각 영역 이름에 대응하는 분할선이 자동으로 생성됩니다. 예컨대
foo
라는 이름의 그리드 영역은foo-start
와foo-end
라는 이름의 분할선을 자동으로 생성합니다. 따라서grid-area: foo
를 지정하면foo
그리드 영역에 맞춰 배치할 수 있습니다.일치하는 행 분할선이 존재하지 않으면
<custom-ident> 1
처럼 동작합니다.<integer> && <custom-ident>?
그리드 아이템의 시작/끝점을 n번째 분할선으로 설정합니다. 음수 값을 지정할 경우 명시적 그리드의 마지막 분할선에서부터 역순으로 셉니다.
0
은 유효하지 않습니다.<custom-ident>
를 지정한 경우 그 이름을 가진 분할선만 셉니다. 해당 이름의 분할선 개수가 주어진 정수 값보다 적으면, 행/열 탐색 방향과 같은 쪽에 생성된 암시적 분할선을 이름과 무관하게 포함하여 셉니다.span && [ <integer> || <custom-ident> ]
그리드 아이템의 시작/끝점을 끝/시작점에서 n개 분할선만큼 떨어진 곳으로 설정합니다.
<integer>
에0
과 음수 값,<custom-ident>
에span
과auto
는 유효하지 않습니다.<custom-ident>
를 지정한 경우 그 이름을 가진 분할선만 셉니다. 해당 이름의 분할선 개수가 주어진 정수 값보다 적으면, 행/열 탐색 방향과 같은 쪽에 생성된 암시적 분할선을 이름과 무관하게 포함하여 셉니다.
명세
브라우저 호환성
데스크톱 | 모바일 | ||||||||
---|---|---|---|---|---|---|---|---|---|
iOS | Android | ||||||||
Safari | Chrome | Firefox | Safari | Safari WebView | Chrome | Android WebView | Firefox | Samsung Internet | |
grid-area |