CSS
[CSS] “flex : 1”이 뭘까?
kku_lurgi
2023. 7. 22. 19:28
클론 코딩을 하는 와중, flex:1이란 코드를 발견하였습니다.
이 코드로 인해서 요소가 딱 원하는 너비를 가지게 되었는데, 도대체 왜 이런 현상이 나타나는 건지 짚고 넘어 가보려 합니다!
🤔”flex : 1”이 뭐지?
- flex : 1 속성은 flex-grow, flex-shrink, flex-basis의 단축 속성으로 flex : “grow” “shrink” “basis” 순서를 따릅니다.
- ‘flex-grow” 속성이 생략되면 기본값은 0, ‘flex-shrink 속의 기본값은 1, ‘flex-basis’의 기본값은 auto입니다.
- flex : 1 의 값은 shrink, basis 속성값이 생략된 것으로 다음과 같습니다.
flex-grow : 1;
flex-shrink : 1;
flex-basis : auto;
그렇다면, flex-grow와 shrink, basis 속성이 무엇일까요?
🤔”flex-grow”가 뭐지?
- flex-item 요소가 flex-container 요소 내부에서 할당 가능한 정도를 선언합니다.
- item들이 동일한 flex-grow값을 갖는다면, 동일한 공간을 할당 받습니다.
- 아래의 이미지를 통해 쉽게 확인할 수 있습니다.
🤔”flex-shrink”는 뭐지?
- flex-shrink는 값으로 숫자값을 받습니다.
- item 요소의 크기가 container 요소의 크기보다 클 때 shrink속성을 사용하여 크기를 조절할 수 있습니다.
- 기본값으로 1값을 가지며, flex-basis값으로 설정한 값보다 작아질 수 있습니다.
- 0으로 가지면 크기는 basis값에 고정되고 값이 커질수록 크기가 줄어듭니다.
🤔”flex-basis”는 뭐지?
- flex-basis는 요소의 기본 크기를 설정합니다.
- 기본값으로 auto값을 가집니다.
- 값으로 <length>값과 “auto”값을 가집니다.
😎 추가적인 단축속성!
{
flex : 1 /*flex : 1 1 auto; 값을 가진다.*/
flex : 2 /*flex : 2 1 auto; */
flex : 1 30px /*flex : 1 1 30px, shrink값으로는 숫자값만 받는다, 길이를 받았으므로 basis값이다.*/
flex : 1 1 100px /*flex : 1 1 100px*/
}
출처
flex - CSS: Cascading Style Sheets | MDN
flex - CSS: Cascading Style Sheets | MDN
flex CSS 속성은 하나의 플렉스 아이템이 자신의 컨테이너가 차지하는 공간에 맞추기 위해 크기를 키우거나 줄이는 방법을 설정하는 속성입니다. flex는 flex-grow, flex-shrink, flex-basis의 단축 속성입니
developer.mozilla.org
이번에야말로 CSS Flex를 익혀보자
이 튜토리얼은 “차세대 CSS 레이아웃” 시리즈의 첫번째 포스트입니다. 이번에야말로 CSS Flex를 익혀보자 이번에야말로 CSS Grid를 익혀보자 벌써부터 스크롤의 압박이 느껴지고,‘좀 편안하게 누
studiomeal.com