CSS 그리드: 사용자 정의 그리드 항목 배치 - 기본 사항
이 기사는 내 CSS 그리드 소개 시리즈의 일부입니다. 이전 게시물을 확인하려면 전체 목차를 찾을 수 있습니다.
이전 기사에서 모든 그리드 항목은 기본적으로 특정 순서로 고유한 단일 그리드 셀에 할당된다고 언급했습니다. 실제로 이 동작을 덮어쓰고 그리드 내부의 그리드 셀이나 그리드 영역에 항목을 할당할 수 있습니다.
이 항목의 기본 배치를 왼쪽 상단 셀에서 오른쪽 하단 셀로 어떻게 변경했는지 확인하십시오.
CSS 그리드 사용자 정의 배치 속성.
원하는 사용자 정의 배치를 달성하기 위해 네 가지 주요 CSS 속성을 사용할 수 있습니다.
이러한 네 가지 속성은 그리드 내의 그리드 선을 나타냅니다. 선택한 항목을 할당할 선택한 영역의 경계입니다.
.item {
grid-row-start: 3;
grid-row-end: 4;
grid-column-start: 3;
grid-column-end: 4;
}
모든 속성을 정의할 필요는 없습니다. 우리는 하나 또는 네 가지 모두를 정의할 수 있습니다. 누락된 라인은 자동으로 결정됩니다.
.item {
grid-row-start: 2;
grid-column-start: 2;
}
나열된 각 속성은 동일한 값을 가질 수 있습니다. 이것들은:
전역 CSS 키워드는 CSS의 여러 속성 간에 공유되므로 이 문서에서는 다루지 않습니다. 여기서는 CSS 그리드 관련 값에만 집중하고 싶습니다.
키워드 '자동'은 격자선이 자동 배치 알고리즘에 의해 자동으로 결정됨을 의미합니다.
숫자는 단순히 주어진 방향의 줄 번호를 나타냅니다. 숫자는 음수가 될 수 있지만 0이 될 수는 없습니다.
문자열 인수는 그리드 선 이름(있는 경우)을 나타냅니다.
'스팬'이라는 키워드는 우리가 거리를 다루고 있다는 것을 의미합니다. 대부분의 경우 범위 뒤에는 숫자나 단어가 옵니다. 다음 부분이 없는 Span 키워드는 허용되지 않습니다.
몇 가지 예를 살펴보겠습니다.
.container {
...
grid-template-rows: [row-one] 1fr [row-two] 1fr [row-three] 1fr [row-four];
grid-template-columns: [col-one] 1fr [col-two] 1fr [col-three] 1fr [col-four];
}
.item {
grid-row-start: 1;
grid-row-end: row-three;
grid-column-start: auto;
grid-column-end: col-three;
}
.container {
...
grid-template-rows: [row-one] 1fr [row-two] 1fr [row-three] 1fr [row-four];
grid-template-columns: [col-one] 1fr [col-two] 1fr [col-three] 1fr [col-four];
}
.item {
grid-row-start: 1;
grid-row-end: span row-four;
grid-column-start: 1;
grid-column-end: span 2;
}
언급된 값의 더 많은 허용 가능한 조합이 있습니다. 예를 들어 문자열 + 숫자 또는 범위 + 문자열 + 숫자와 같은 조합을 찾을 수 있습니다. 나는 미래의 'beyond basics' 기사에서 그들에 대해 더 많이 이야기하고 싶습니다.
속기 속성.
둘 이상의 그리드 선을 지정해야 하는 경우 grid-row, grid-column 또는 grid-area와 같은 몇 가지 특수 속기 속성을 사용할 수 있습니다.
속기 속성은 슬래시 또는 슬래시를 사용하여 구분된 위에서 설명한 것과 동일한 값을 허용합니다.
Grid-row 및 grid-colum 속성을 사용하면 주어진 방향에서 시작 및 끝 그리드 선을 모두 정의할 수 있습니다. 누락된 정의는 자동으로 대체됩니다.
.container {
...
grid-template-rows: [row-one] 1fr [row-two] 1fr [row-three] 1fr [row-four];
grid-template-columns: [col-one] 1fr [col-two] 1fr [col-three] 1fr [col-four];
}
.item {
grid-row: 1 / row-three;
grid-column: col-two / span 2;
}
Grid-area 속성을 사용하면 4개의 그리드 라인 경계를 동시에 정의할 수 있습니다. 이러한 정의는 슬래시로 구분되며 맨 위 줄에서 시작하여 시계 반대 방향으로 진행됩니다.
.container {
...
grid-template-rows: [row-one] 1fr [row-two] 1fr [row-three] 1fr [row-four];
grid-template-columns: [col-one] 1fr [col-two] 1fr [col-three] 1fr [col-four];
}
.item {
grid-area: 2 / 1 / span 2 / col-three;
}
grid-area 속성은 한 번에 네 개의 그리드 선을 모두 정의하도록 강제하지 않습니다. 향후 기사에서는 하나(또는 그 이상) 정의가 누락된 경우 어떤 일이 발생하는지, 그리고 이 속성이 제공해야 하는 다른 배치 관련 기능은 무엇인지 보여줄 것입니다.
짧은 글 읽어주셔서 감사합니다. 이와 같은 더 많은 콘텐츠를 읽고 싶다면 내 dev.to 또는 계정을 팔로우할 수 있습니다. 또한 어떤 형태로든 피드백을 제공해주세요. 나는 당신의 의견을 읽고 싶습니다. 다음 기사에서 곧 만나요!
추신. 제 작업을 지원하고 싶다면 커피 한 잔에 감사하겠습니다. 고맙습니다. ❤️
Reference
이 문제에 관하여(CSS 그리드: 사용자 정의 그리드 항목 배치 - 기본 사항), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/mateuszkirmuc/css-grid-custom-grid-item-placement-basics-ech텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)