flex-container-append()
Flex 컨테이너 첨부(append) 믹스인
용도
기본적으로는 flex-container() 믹스인 내부에서 호출되어 사용되며 Flex Container 요소에 설정 가능한 속성 중 display
를 제외한 나머지 속성을 전달 받은 값을 해석하여 설정합니다. 이 믹스인은 초기 설정 후, 반응형 웹 디자인 (미디어 쿼리에 의해 레이아웃이 변경)에서 유용하게 사용될 수 있습니다.
믹스인에 사용 가능한 값
믹스인에서 사용되는 값
컴파일 되는 표준 속성
row
| column
| row-reverse
| column-reverse
flex-direction
nowrap
| wrap
| wrap-reverse
flex-wrap
justify-start
| justify-center
| justify-end
|
justify-between
| justify-around
| justify-evenly
|
justify-normal
| justify-left
| justify-right
|
justify-safe
| justify-unsafe
|
justify-inherit
| justify-initial
| justify-unset
justify-content
items-start
| items-center
| items-end
| items-stretch
|
items-baseline
| items-first-baseline
| items-last-baseline
|
items-safe
| items-unsafe
|
items-inherit
| items-initial
| items-unset
align-items
content-start
| content-center
| content-end
|
content-between
| content-around
| content-evenly
|
content-stretch
|
content-baseline
| content-first-baseline
| content-last-baseline
|
content-normal
| content-left
| content-right
|
content-safe
| content-unsafe
|
content-inherit
| content-initial
| content-unset
align-content
사용법
flex-container-append()
믹스인에 설정 가능한 값을 리스트로 전달합니다.
flex-container-append($args:list)
.usage {
@include flex-container-append(justify-evenly content-stretch);
}
매개변수(parameter)
유형(type)
필수(required)
기본 값(default)
$args
list
✔︎
위 예시 코드는 아래의 CSS로 컴파일 되어 출력됩니다.
.usage {
justify-content: space-evenly;
align-content: stretch;
}
로직
flex-container-append()
믹스인은 다음의 로직에 의해 작성되었습니다.
@mixin flex-container-append($args) {
@if $args != null {
// flex-direction ------------------------------------------
@each $direction in row row-reverse column column-reverse {
$direction-index: index($args, $direction);
@if $direction-index {
flex-direction: nth($args, $direction-index);
}
}
// flex-wrap -----------------------------------------------
@each $wrap in nowrap wrap wrap-reverse {
$wrap-index: index($args, $wrap);
@if $wrap-index {
flex-wrap: nth($args, $wrap-index);
}
}
// justify-content ------------------------------------------
@each $justifyContent
in justify-start
justify-center
justify-end
justify-left
justify-right
justify-normal
justify-between
justify-around
justify-evenly
justify-safe
justify-unsafe
justify-inherit
justify-initial
justify-unset
{
$justifyContent-index: index($args, $justifyContent);
@if $justifyContent-index {
$justifyContent-value: str-replace(
nth($args, $justifyContent-index),
'justify-'
);
@include justify-content($justifyContent-value, flex);
}
}
// align-items ------------------------------------------------
@each $alignItems
in items-normal
items-stretch
items-start
items-end
items-center
items-baseline
items-first-baseline
items-last-baseline
items-safe
items-unsafe
items-inherit
items-initial
items-unset
{
$alignItems-index: index($args, $alignItems);
@if $alignItems-index {
$alignItems-value: str-replace(nth($args, $alignItems-index), 'items-');
@include align-items($alignItems-value, flex);
}
}
// align-content ------------------------------------------------
@each $alignContent
in content-start
content-center
content-end
content-left
content-right
content-normal
content-baseline
content-first-baseline
content-last-baseline
content-between
content-around
content-evenly
content-stretch
content-safe
content-unsafe
content-inherit
content-initial
content-unset
{
$alignContent-index: index($args, $alignContent);
@if $alignContent-index {
$alignContent-value: str-replace(
nth($args, $alignContent-index),
'content-'
);
@include align-content($alignContent-value, flex);
}
}
}
}
$mode
매개변수에 값이 전달되지 않을 경우, 기본 값인flex
로 표시(display) 모드 설정$args
매개변수로 리스트 값이 전달되면 flex-container-append() 믹스인에 전달
flex-c-a()
믹스인은 flex-container-append()
믹스인 래퍼로 보다 간단하게 쓰기 위해 작성되었습니다.
@mixin flex-c-a($args) {
@include flex-container-append($args);
}
참고
믹스인에 사용된 Sass의 빌트인 모듈은 다음과 같습니다.
믹스인에 사용된 자체 제작 모듈은 다음과 같습니다.
Last updated
Was this helpful?