grid-area()
CSS Grid 영역 믹스인
용도
사용법
.usage {
@include grid-area(1 2, span 2);
}.usage {
grid-row-start: 1;
grid-row-end: 2;
grid-column: span 2 / span 2;
}사용 예시
로직
참고
Last updated
CSS Grid 영역 믹스인
.usage {
@include grid-area(1 2, span 2);
}.usage {
grid-row-start: 1;
grid-row-end: 2;
grid-column: span 2 / span 2;
}Last updated
.usage {
@include grid-area('search-bar');
}.usage {
grid-area: "search-bar";
}.usage {
@include grid-area(1, 1);
}.usage {
grid-row: 1;
grid-column: 1;
}.usage {
@include grid-area(1 3, 2 3);
}.usage {
grid-row-start: 1;
grid-row-end: 3;
grid-column-start: 2;
grid-column-end: 3;
}.usage {
@include grid-area(s 1, e 1); // s = start, e = end
}.usage {
grid-row-start: 1;
grid-column-end: 1;
}.usage {
@include grid-area(span 2, span full);
}.usage {
grid-row: span 2 / span 2;
grid-column: 1 / -1;
}.usage {
@include grid-area('1 / 3', '2 / 3');
}.usage {
grid-row: 1 / 3;
grid-column: 2 / 3;
}@mixin grid-area($rows: null, $cols: null) {
$rows-type: type-of($rows);
$cols-type: type-of($cols);
@if $rows-type == 'list' {
$span-value: get-match-value-of-keys($rows, span);
$start-value: get-match-value-of-keys($rows, start s);
$end-value: get-match-value-of-keys($rows, end e);
@if $span-value {
@include grid-row(span, $span-value);
} @else if $start-value {
@include grid-row(start, $start-value);
} @else if $end-value {
@include grid-row(end, $end-value);
} @else {
@include grid-row(se, $rows);
}
}
@if $rows-type == 'number' or $rows-type == 'string' and str-index($rows, '/') {
@include grid-row($rows);
}
@if $cols-type == 'list' {
$span-value: get-match-value-of-keys($cols, span);
$start-value: get-match-value-of-keys($cols, start s);
$end-value: get-match-value-of-keys($cols, end e);
@if $span-value {
@include grid-col(span, $span-value);
} @else if $start-value {
@include grid-col(start, $start-value);
} @else if $end-value {
@include grid-col(end, $end-value);
} @else {
@include grid-col(se, $cols);
}
}
@if $cols-type == 'number' or $cols-type == 'string' and str-index($cols, '/') {
@include grid-col($cols);
}
// 그리드 영역(grid-area)을 문자 값으로 전달한 경우
@if $rows-type == 'string' and not str-index($rows, '/') {
grid-area: $rows;
}
}