일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 회고
- Next.js
- 스택
- 프로그래머스
- 카카오
- web
- javascript
- 자료구조
- 운영체제
- CSS
- 해시테이블
- 큐
- UX
- 30daysdowoonchallenge
- 생활코딩
- 코드스테이츠
- superstarjypnation
- Til
- REST_API
- vercel
- html
- redux
- 프로토타입
- 백준
- 자바스크립트
- React
- useState
- mysemester
- level1
- UI
- Today
- Total
데굴데굴
TIL: 2022-08-29 본문
⚙️ 오늘 배운 언어
CSS
🐹 오늘의 기분
몸 컨디션이 안 좋아서 집중이 어려웠다. 하필이면 나한텐 너무나도 헷갈리는 개념인 Flexbox를 공부하는 날이라 엎친데 덮친격이었음. 그리고 잘 쓰던 의자가 갑자기 푹 꺼진 느낌이 들어 의자도 새로 알아봐야 한다. 당연함. 이 의자 10년 넘음. 이 정도면 유물 수준.. 인터넷으로 사려다가 그래도 직접 앉아보고 사는 것이 좋을 것 같아 언제 한 번 주말에 시간내서 매장에 가봐야겠다. 내 시간...
오늘은 레이아웃과 플렉스박스를 스스로 공부하고 페어분과 계산기 목업을 만들어보는 것이 하루 일정이었다. 중간에 레이아웃 구현해보는 실습도 있었는데 어찌저찌 완성은 했으나, 이렇게 완성하는 게 과연 맞나..? 싶었다. 이런 프로그램을 만드는 데에는 페어프로그래밍을 어떻게 해야 할 지 감이 오지 않았다. 알고리즘 문제를 풀 때는 그래도 의사코드도 작성해가면서 나름의 방향이 잡혔던 것 같은데... 페어분과 나 둘 다 플렉스를 완전히 이해하지 못한 상황이라 더 어려웠다. 일단 오늘은 와이어프레임부터 짜고 그걸 기반으로 html을 작성해보는 것에서 끝냈다. 내일 CSS 적용해보면서 삽질 실컷 해야지.. 얼른 라이브세션 들으면서 머릿속에 여기저기 흩어져있는 지식들을 정리하고 싶다.
🗝 키워드
Flexbox, container, item, 레이아웃, flex, flex-direction, justify-content, align-items, flex-grow, flex-shrink, flex-basis
🗣 스스로에게 설명
flexbox는 박스를 유연하게 늘리거나 줄여 레이아웃을 구성하는 방법이다.
display: flex
는 display의 속성값 중 하나이다. (MDN: https://developer.mozilla.org/ko/docs/Web/CSS/display )
** flex를 적용하면 박스는 딱 박스에 담긴 콘텐츠만큼의 공간만 차지한다. **
flexbox는 부모 요소에 적용하는 속성과 자식 요소에 적용하는 속성이 따로 있다. 이걸 목적에 따라 잘 구분해서 적용하는 것이 중요하다.
- 부모 요소에 적용해야 하는 속성 (자식들의 정렬 방식 설정)
flex-direction
: 자식 요소들의 정렬 축 설정. (가로 - row(default), 세로 - column)
flex-wrap
: 자식 요소들의 줄바꿈을 어떻게 할지 설정 (안 함 - nowrap(default), 함 - wrap)
justify-content
: 축과 수평 방향에서 자식 요소들을 어떻게 정렬할 것인지 설정
align-items
: 축과 수직 방향에서 자식 요소들을 어떻게 정렬할 것인지 설정
- 자식 요소에 적용해야 하는 속성 (각 요소가 차지하는 공간 설정)
flex-grow
: 요소의 크기가 얼마나 늘어나도록 할 지 설정
flex-shrink
: 요소의 크기가 얼마나 줄어들도록 할 지 설정
flex-basis
: 요소의 기본 크기 설정
--> 위 셋은 축약형으로 작성 가능하다. flex
에 위 순서대로 써주면 됨. (ex: flex: 0 1 auto
<- 기본값)
❓ 막히는 or 막혔던 부분
머리로는 알겠는데 막상 적용하려고 하면 머리가 하얘진다 허허
먼저 생각한대로 적용해보고 앗 아니넹 하고 다른 거 적용해보고 이 난리...
자식 요소에 적용하는 flex-grow, flex-shrink, flex-basis가 헷갈린다. flex-basis는 width랑 대체 뭐가 다른 걸까.....
flex-basis에서 0과 auto의 차이 (스택오버플로우에서 관련 질문을 읽었는데 이해가 안 돼서 까먹어버렸다. 다시 봐야지)
justify-content와 align-items가 헷갈렸는데 https://studiomeal.com/archives/197 <- 여기서 어묵꼬치로 비유한 걸 보고 유레카했다. 물론 완전히 이해하려면 더 연습해봐야 한다.
🛠 질문 만들기
- 자식 요소들의 줄바꿈을 설정하려면 어떤 속성을 적용해야 하는가?
- 부모 요소에 적용하는 flexbox 속성은 어떤 것들이 있는가?
- 자식 요소에 적용하는 flexbox 속성은 축약형으로 어떻게 작성할 수 있는가?
'Lesson > TIL' 카테고리의 다른 글
TIL: 2022-08-31 (0) | 2022.08.31 |
---|---|
TIL: 2022-08-30 (0) | 2022.08.30 |
TIL: 2022-08-26 (0) | 2022.08.26 |
TIL: 2022-08-25 (0) | 2022.08.25 |
TIL: 2022-08-24 (0) | 2022.08.24 |