grid-template-rows
, grid-template-columns
, grid-template-areas
속성을 한번에 정의하는 속기 속성이다.
그리드 레이아웃에서 명시적으로 항목의 크기를 지정할 때 사용한다.
그리드 레이아웃에서는 '암시적'과 '명시적'이라는 용어가 사용된다. 사실 일반적인 의미와 다를 게 없다. 그리드 레이아웃에서 그리드 항목의 갯수는 확정적이지 않을 수 있다. 즉 동적 콘텐츠를 보여주는 목록 UI가 있다고 가정할 경우 동적 콘텐츠의 수는 정해지지 않은 것이다. 이 목록 UI를 그리드 레이아웃에 의해 출력을 하려고 한다면 향후 생성될 그리드 항목에도 패턴에 따라 일관성 있는 크기를 가져야 할 것이다. 그러나 반드시 그렇지 않을 수도 있다. 몇몇 그리드 항목들은 패턴과는 무관하게 독립적으로 크기를 정해줘야 할 경우도 생길 수 있다.
그리드 레이아웃에서 자동으로 생성(또는 기본값)되는 그리드 항목에 영향을 미치는 것을 '암시적'이라는 개념으로 'auto' 키워드를 사용한다. 반대로 독립적인 크기를 갖는 그리드 항목에 영향을 미치는 것을 '명시적'이라는 개념으로 'template' 키워드를 사용한다. 속성의 이름에 각각의 키워드가 포함된 속성들이 바로 암식적인 처리와 명시적인 처리를 하는 속성이라고 볼 수 있다.
명시적인 처리를 하는 속성이 적용되어 있다 하더라도 처리 대상외는 모두 암시적인 처리에 영향을 받는다. 암시적인 처리에 사용되는 속성은 값이 명시되지 않았더라도 기본 값을 가지고 있다. 따라서 명시적인 영향을 받는 것이 아닌 그리드 항목들은 별도의 설정이 없이도 모두 암시적인 영향을 받는다. 암시적인 설정은 다양한 패턴으로 반복되게 할 수도 있다.
모든 행(row)과 열(column)이 유기적인 그리드 레이아웃 특성상 열(column)에 명시적인 설정 값이 있다면 나머지 행(row)에 있는 열(column)에도 영향을 미친다.
grid-template
속기 속성에 사용되는 타입이다.
열(column), 행(row) 방향으로 레이아웃 항목들이 명시적으로 배치되는 값을 나타내며 grid-area
속성으로 지정된 이름 또는 마침표를 통해 배치되는 값을 나타내기도 한다.
none | [ <'grid-template-rows'> / <'grid-template-columns'> ] | [ <line-names>? <string> <track-size>? <line-names>? ]+ [ / <explicit-track-list> ]?
아래 유형에서 지원하는 모든 키워드와 단위를 사용하지 않을 수도 있다.
명시적인 트랙 목록을 나타낸다.
[ <line-names>? <track-size> ]+ <line-names>?
그리드 레이아웃(grid layout)에서 그리드 라인(grid line)에 지정한 이름을 나타낸다. CSS에서 사용하는 키워드는 이름으로 사용할 수 없다.
'[' <custom-ident>* ']'
임의의 사용자 정의 문자열을 나타낸다.
모든 속성을 표시하지 않을 수도 있다.
애니메이션으로 사용할 미리 정의된 키프레임 셋의 이름을 설정한다.
그리드 항목이 몇 개의 열(column)로 확장되는지 또는 항목이 끝나는 열(column)의 줄의 위치를 정의한다.
그리드 항목이 시작되는 열(column)의 줄의 위치를 정의한다.
그리드 항목이 몇 개의 행(row)으로 확장되는지 또는 그리드 항목이 끝나는 행(row)의 위치를 정의한다.
그리드 항목이 시작될 행(row)의 위치를 정의한다.
하나 이상의 CSS 카운터 값을 늘리거나 줄인다.
하나 이상의 CSS 카운터를 만들거나 재설정한다.
목록의 마커의 모양을 설정한다.
하위 타입인 <track-breadth>
를 포함하여 minmax()
, fit-content()
함수를 사용하여 지정한 트랙(track)의 크기를 나타낸다.
<track-breadth> | minmax( <inflexible-breadth> , <track-breadth> ) | fit-content( <length-percentage> )
유연하지 않은(inflexible) 의미를 가진 이름에서 알 듯이 <track-breadth>
타입에서 fr
단위가 제외되었다.
<length-percentage> | min-content | max-content | auto
<length>
와 <percentage>
타입을 나타낸다.
<length> | <percentage>
숫자와 단위를 사용하여 길이, 크기, 위치를 나타내는 자료형이며 CSS에서 가장 자주 사용한다.
<length>
아래의 모든 단위를 사용할 수 있는지 확인해야 할 수도 있다.
1cm(센티미터)는 96px를 2.54로 나눈 값을 나타낸다.
1in(인치)는 2.54cm, 96px과 동일한 값을 나타낸다.
1cm의 1/10 값을 나타낸다.
1in의 1/16 값을 나타낸다.
1in의 1/72 값을 나타낸다.
스크린의 기본 단위이다. 1in의 1/96 값을 나타낸다.
1cm의 1/40을 나타낸다.
보통 1도라고 불리는 단위를 말하며 360deg가 완전한 원을 만든다.
400grad(그라디안)은 완전한 원을 만든다.
2π(라디안)이 완전한 원을 만든다.
1turn(턴)이 완전한 원을 만든다.
대상 요소의 폰트의 대문자 높이를 상대 단위의 기준으로 사용한다.
글꼴 크기에 대한 0
(ZERO, U+0030) 문자의 너비를 상대적인 기준으로 하는 단위이다.
대상 요소의 폰트 크기를 상대 단위의 기준으로 사용한다.
대상 요소의 폰트의 x-height를 상대 기준으로 사용한다.
한국, 중국, 일본 문자(CJK)의 일반적인 어드밴스 메저(advance measure)를 나타낸다. 상대적인 기준이 되는 값은 표의 문자 '水'의 너비 또는 높이이다.
요소의 line-height
속성의 값을 상대 단위의 기준으로 사용한다.
html 요소(:root)의 폰트 크기를 상대 기준으로 사용한다.
html 요소(:root)의 line-height
속성 값을 상대 단위의 기준으로 사용한다.
1초당 발생한 진동수를 나타낸다.
1000Hz를 나타낸다.
그리드 컨테이너 내에서 남은 공간에 대한 차지하는 비율 값을 나타낸다.
html 요소의 블록축 방향으로 뷰포트 길이의 1%
를 나타낸다.
뷰포트 높이를 상대적으로 1%
높이를 갖는다.
html 요소의 인라인 축 방향으로 뷰포트 길이의 1%
를 나타낸다.
vw 또는 vh 중 큰 값을 나타낸다.
vw 또는 vh 중 작은 값을 나타낸다.
뷰포트 너비를 상대적으로 1% 폭을 갖는다.
1cm당 점(dot)의 수를 나타낸다.
1in당 점(dot)의 수를 나타낸다.
1픽셀(pixel)당 점(dot)의 수를 나타낸다.
1
초를 1000
으로 나눈 밀리초(milliseconds)를 나타낸다.
초를 나타낸다.
어떠한 기준으로 부터 백분율로 표현한다.
최대값일 경우 그리드 트랙을 차지하는 그리드 항목의 최대 콘텐츠 기여도를 나타낸다. max-content
와 달리 align-content
및 justify-content
속성으로 트랙을 확장할 수 있다.
최소값의 경우 그리드 트랙을 차지하는 그리드 항목의 최대 최소 크기(min-width
/ min-height
)를 나타낸다.
그리드 컨테이너의 공간이 넉넉한 경우에 해당 축에서 콘텐츠를 담기 위한 이상적인 크기를 나타낸다.
콘텐츠가 넘치지 않고 담길 수 있는 가장 작은 크기를 나타낸다.
<length-percentage>
와 fr
단위를 사용한 <flex>
값으로 지정된 트랙(track) 폭에 대한 값을 나타낸다. min-content
, max-content
, auto
키워드를 사용해 트랙(track) 폭의 크기를 지정할 수도 있다.
<length-percentage> | <flex> | min-content | max-content | auto
그리드 트랙(grid track)의 플렉스 펙터(flex factor)를 지정하는 음수가 아닌 fr
단위의 치수를 나타낸다.
<number-token>
유형 플래그가 'integer
'인 소숫점이 없는 정수를 표현한다.
[HYPHEN-MINUS]?[0-9]
0에서 9까지의 숫자로 구성된다. 선택적으로 음수 기호(U+002D HYPHEN-MINUS)가 앞에 올 수 있다.
아래의 모든 단위를 사용할 수 있는지 확인해야 할 수도 있다.
그리드 컨테이너 내에서 남은 공간에 대한 차지하는 비율 값을 나타낸다.
<length>
와 <percentage>
타입을 나타낸다.
<length> | <percentage>
최대값일 경우 그리드 트랙을 차지하는 그리드 항목의 최대 콘텐츠 기여도를 나타낸다. max-content
와 달리 align-content
및 justify-content
속성으로 트랙을 확장할 수 있다.
최소값의 경우 그리드 트랙을 차지하는 그리드 항목의 최대 최소 크기(min-width
/ min-height
)를 나타낸다.
그리드 컨테이너의 공간이 넉넉한 경우에 해당 축에서 콘텐츠를 담기 위한 이상적인 크기를 나타낸다.
콘텐츠가 넘치지 않고 담길 수 있는 가장 작은 크기를 나타낸다.
모든 함수를 표시하지 않을 수도 있다.
그리드 레이아웃(grid layout)에서 그리드 라인(grid line)에 지정한 이름을 나타낸다. CSS에서 사용하는 키워드는 이름으로 사용할 수 없다.
'[' <custom-ident>* ']'
따옴표로 감싸진 데이터 유형을 표현한다.
"this is a 'string'."
모든 속성을 표시하지 않을 수도 있다.
글꼴을 지정한다.
가상 요소로 생성할 콘텐츠를 설정한다.
인용 부호의 유형을 설정한다.
하위 타입인 <track-breadth>
를 포함하여 minmax()
, fit-content()
함수를 사용하여 지정한 트랙(track)의 크기를 나타낸다.
<track-breadth> | minmax( <inflexible-breadth> , <track-breadth> ) | fit-content( <length-percentage> )
명시적 그리드 트랙이 이 속성에 의해 생성되지 않음을 나타낸다. 그러나 명시적 그리드 트랙은 여전히 grid-template-columns
또는 grid-template-rows
에 의해 생성될 수 있다.
다음은 필요에 따라 일부 값을 설명하므로 표시되지 않는 값은 값 유형을 참조하라.
명시적 그리드 트랙이 이 속성에 의해 생성되지 않음을 나타낸다. 그러나 명시적 그리드 트랙은 여전히 grid-template-columns
또는 grid-template-rows
에 의해 생성될 수 있다.
그리드 컨테이너의 공간이 넉넉한 경우에 해당 축에서 콘텐츠를 담기 위한 이상적인 크기를 나타낸다.
콘텐츠가 넘치지 않고 담길 수 있는 가장 작은 크기를 나타낸다.
인수(argument)로 전달된 값은 minmax(auto, max-content)
와 minmax(auto, argument)
중 더 작은 값으로 계산된다.
최소값과 최대값을 한번에 지정한다. 따라서 이 값을 갖는 속성은 최소값과 최대값 사이에서 100%
값으로 처리된다.
그리드 컨테이너의 공간이 넉넉한 경우에 해당 축에서 콘텐츠를 담기 위한 이상적인 크기를 나타낸다.
콘텐츠가 넘치지 않고 담길 수 있는 가장 작은 크기를 나타낸다.
<'grid-template-rows'> / <'grid-template-columns'>
[ <line-names>? <string> <track-size>? <line-names>? ]+ [ / <explicit-track-list> ]?
<'grid-template-areas'>;
Modules | ||
---|---|---|
Module Name | Status | Summary |
CSS Grid Layout Module Level 2 | 후보 추천 초안 | 사용자 인터페이스 설계에 최적화된 2차원 그리드 기반 레이아웃 시스템을 정의한다. Last review date: 2022-6-23 |