flex: 1
은 해당 요소가 남은 공간을 모두 차지하도록 만드는 속성
display: flex
인 부모 요소가 있어야 작동함flex-grow: 1
, flex-shrink: 1
, flex-basis: 0
과 같은 의미.wrapper
나 .page
, .contents
등에 flex: 1
을 주면,
flex mixin
// Flex 대응 mixin
@mixin flexbox{
display: flex;
display: -webkit-box;
display: -ms-flexbox;
}
@mixin flex-direction($direction) {
@if $direction == row {
-webkit-box-orient: horizontal;
-webkit-box-direction: normal;
} @else if $direction == column {
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
}
-ms-flex-direction: $direction;
flex-direction: $direction;
}
@mixin justify-content($value) {
-webkit-box-pack: $value;
-ms-flex-pack: $value;
justify-content: $value;
}
@mixin align-items($value) {
-webkit-box-align: $value;
-ms-flex-align: $value;
align-items: $value;
}
/**
사용 방법
.container {
@include flexbox;
@include flex-direction(row);
@include justify-content(center);
@include align-items(center);
}
**/
아무 메모
(정리해서 쓰기)
height: 100dvh
를 쓴 이유는?100dvh
는 "진짜 실제 뷰포트 높이"를 정확히 반영하는 단위야.100vh
는 주소창(네비게이션 바 포함)까지 높이를 포함해버려서
스크롤 안 해도 생기는 여백 문제가 생겨
반면 100dvh
는 주소창 제외한 실제 사용 가능한 높이만큼만 계산해줌