order
.container{
display: flex;
flex-direction: row;
}
.item2{
order: 5;
}
.item3{
order: 3; /* item2보다 앞에 생성된다. */
}
<!-- HTML -->
<div class="container">
<div class="item1">1</div>
<div class="item2">2</div>
<div class="item3">3</div>
<div class="item4">4</div>
</div>
- flex 혹은 grid 컨테이너 내부에서 요소의 우선순위를 지정해주는 속성입니다.
- 기본값은 order: 0 이며, 정수형 값을 입력합니다.
- 각자 다른 order 값을 가진 경우 더 작은 order 값을 가진 요소가 앞에 갑니다.
flex-grow
- 요소를 컨테이너 내에서 할당 가능한 공간의 정도를 조절 가능합니다.
- 0이 기본값으로, 음수가 아닌 number 형 값을 입력하여 사용합니다.
- 형제요소가 같은 flex-grow을 가지고 있으면, 차지할 수 있는 최대한의 공간을 동일하게 할당받습니다.
이는 flew-wrap으로 인해 줄바꿈이 되어도 마찬가지입니다.
- 서로 다른 flex-grow를 가지고 있다면 값에따라 각자 다른 공간값을 나누어 할당받게 됩니다.
- 창이 늘어나서 공간이 증가하여도 마찬가지로 적용된 값에 따라 증가합니다.
flex-shrink
- 컨테이너 크기 감소시에 요소를 컨테이너 내에서 할당 가능한 공간의 정도를 조절 가능합니다.
- 1이 기본값으로, 음수가 아닌 number형 값을 입력하여 사용합니다.
- 값을 추가하면 창이 줄어들때, 적용된 비율에 따라 줄어듭니다.
- 0을 입력하면 값이 줄어들지 않습니다.
flex-basis
- 아이템의 초기 크기를 지정합니다. 따로 지정하지 않는다면 콘텐츠 박스의 크기를 변경합니다.
- 아이템의 내부 요소 크기에 따라 초기 할당 크기가 달라져
flex-grow나 flex-shrink에 영향을 주는것을 막기위해 사용합니다.
- flex-basis 설정 시 비율이 flex-grow나 flex-shrink에 맞춰 변경됩니다.
flex (shorthand)
- flex-grow, flex-shrink, flex-basis의 단축속성입니다.
- 초기값은 grow : 0 , shrink : 1, basis : auto입니다.
- 단 flex-basis는 기본값이 0 으로 적용됩니다. 만약 auto로 적용하고 싶다면 flex: initial;을 사용해야 합니다.
- 적용 방법
값이 한개일 때, <number>를 지정하면 flex-grow, <length> 또는 <percentage>를 입력하면 flex-basis입니다.
값이 두개일 때 첫 값은 <number>여야 하며, flex-grow가 됩니다.
두번째 값은 <number>일 경우 flex-shrink, <length> 또는 <percentage>일 경우 flex-basis 입니다.
값이 세개일 때 각각 flex-grow, flex-shrink, flex-basis 입니다.
align-self
- 그리드 또는 flex 항목의 값을 재정의합니다.
- flexbox에서는 항목을 교차축에 정렬합니다.
- 요소 별로 정렬상태를 지정하는데 사용합니다.
'웹 프론트 엔드' 카테고리의 다른 글
CSS Animation (0) | 2024.03.18 |
---|---|
CSS transition (0) | 2024.03.18 |
CSS Flex - 컨테이너 설정 (0) | 2024.03.16 |
CSS Flexbox (0) | 2024.03.15 |
CSS transform (0) | 2024.03.15 |