Flexbox & Grid
그리드 행에서 엘리먼트의 크기와 위치를 조절하는 유틸리티
row-span-*
유틸리티를 사용해 엘리먼트가 _n_개의 행을 차지하도록 설정할 수 있습니다.
<div class="grid grid-rows-3 grid-flow-col gap-4">
<div class="row-span-3 ...">01</div>
<div class="col-span-2 ...">02</div>
<div class="row-span-2 col-span-2 ...">03</div>
</div>
row-start-*
와 row-end-*
유틸리티를 사용해 엘리먼트가 그리드 라인의 _n번째_에서 시작하거나 끝나도록 설정할 수 있습니다. 이 유틸리티는 row-span-*
와 함께 사용해 특정 행 수만큼 확장할 수도 있습니다.
CSS 그리드 라인은 0이 아닌 1부터 시작하므로, 3행 그리드에서 전체 높이를 가진 엘리먼트는 1번 라인에서 시작해 4번 라인에서 끝납니다.
<div class="grid grid-rows-3 grid-flow-col gap-4">
<div class="row-start-2 row-span-2 ...">01</div>
<div class="row-end-3 row-span-2 ...">02</div>
<div class="row-start-1 row-end-4 ...">03</div>
</div>
Tailwind는 상태에 따라 유틸리티 클래스를 조건부로 적용할 수 있게 해줍니다. 예를 들어, hover:row-span-4
를 사용하면 row-span-4
유틸리티를 hover 상태에서만 적용할 수 있습니다.
<div class="row-span-3 hover:row-span-4">
<!-- ... -->
</div>
사용 가능한 모든 상태 수정자 목록은 호버, 포커스, & 기타 상태 문서를 참고하세요.
여러분은 반응형 브레이크포인트, 다크 모드, prefers-reduced-motion 등과 같은 미디어 쿼리를 타겟팅하기 위해 변형 수식어를 사용할 수 있습니다. 예를 들어, md:row-span-4
를 사용하면 중간 화면 크기 이상에서만 row-span-4
유틸리티를 적용할 수 있습니다.
<div class="row-span-3 md:row-span-4">
<!-- ... -->
</div>
더 자세히 알아보려면 반응형 디자인, 다크 모드, 그리고 다른 미디어 쿼리 수식어에 대한 문서를 확인하세요.
기본적으로 Tailwind는 최대 6개의 명시적 행을 가진 그리드를 다루기 위한 grid-row
유틸리티를 제공합니다. tailwind.config.js
파일에서 theme.gridRow
, theme.extend.gridRow
, theme.gridRowStart
, theme.extend.gridRowStart
, theme.gridRowEnd
, theme.extend.gridRowEnd
를 수정하여 이러한 값을 커스터마이징할 수 있습니다.
새로운 row-*
유틸리티를 추가하려면 Tailwind 테마 설정의 gridRow
섹션을 커스터마이징하세요:
module.exports = {
theme: {
extend: {
gridRow: {
'span-16': 'span 16 / span 16',
}
}
}
}
이 설정은 내부적으로 row-span-*
유틸리티를 위해 사용됩니다. 이 설정은 grid-row
단축 속성을 직접 구성하므로, 값 이름에 span
을 직접 포함시킵니다. 이는 클래스 이름에 자동으로 포함되지 않는다는 것을 의미합니다. 따라서 여기에 원하는 대로 항목을 추가할 수 있으며, 반드시 span
유틸리티일 필요는 없습니다.
새로운 row-start-*
유틸리티를 추가하려면 Tailwind 테마 설정의 gridRowStart
섹션을 커스터마이징하세요:
module.exports = {
theme: {
extend: {
gridRowStart: {
'8': '8',
'9': '9',
'10': '10',
'11': '11',
'12': '12',
'13': '13',
}
}
}
}
새로운 row-end-*
유틸리티를 추가하려면 Tailwind 테마 설정의 gridRowEnd
섹션을 커스터마이징하세요:
module.exports = {
theme: {
extend: {
gridRowEnd: {
'8': '8',
'9': '9',
'10': '10',
'11': '11',
'12': '12',
'13': '13',
}
}
}
}
기본 테마를 커스터마이징하는 방법에 대해 더 알아보려면 테마 커스터마이징 문서를 참고하세요.
테마에 포함시키기 어려운 grid row 값을 일회성으로 사용해야 한다면, 대괄호를 사용해 임의의 값으로 속성을 즉석에서 생성할 수 있습니다.
<div class="row-[span_16_/_span_16]">
<!-- ... -->
</div>
임의 값 지원에 대해 더 알아보려면 임의 값 문서를 참고하세요.