일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
- self reliance
- 코드스테이츠
- css in js
- 계산기
- JS
- html
- Router
- 객체지향
- Prototype
- condestates
- CDD
- JavaScript
- Javascript #코드스테이츠
- 회고
- 호스트인식
- 코드스테이스
- 참조자료형
- 원시자료형
- frontend
- 자바스크립트
- OOP
- 프로토타입
- 프론트엔드
- cta button
- codestate
- css
- 개발자
- WAI-ARIA
- codestates
- cta버튼
- Today
- Total
jh.nrtv
HTML, CSS 활용 - [Codestates] Section1 본문
레이아웃
와이어프레임 : 레이아웃의 뼈대를 그리는 단계
목업( Mock-up) : 실물 크기의 모형
하드코딩 ;변수를 사용하지 않고 구구단처럼 보이기 위해서는, 각 숫자의 단을 소스 코드에 모두 출력하는 방법뿐입니다.
Flexbox
Flexbox로 레이아웃을 구성한다는 것은, 박스를 유연하게 늘리거나 줄여 레이아웃을 잡는 방법입니다.
1. 부모요소 flexbox - 요소들의 정렬과 관련
1) display:flex;
부모 박스 요소에 적용해, 자식 박스의 방향과 크기를 결정하는 레이아웃 구성 방법입니다.
2) flex-direction: row; - 정렬 축 정하기
부모 요소에 설정해주는 속성으로, 자식 요소들을 정렬할 정렬 축을 정합니다. 설정 없을시 기본설정 'row'
main {
display: flex;
**flex-direction : row;**
}
/* 부모 요소인 main에 작성하여 자식 요소인 div들을 정렬할 축을 정합니다. */
3) flex-wrap: nowrap; 줄 바꿈 설정
하위 요소들의 크기가 상위 요소의 크기를 넘으면 자동 줄 바꿈을 할 것인지 정합니다. 기본세팅은 nowrap (줄바꿈 없음)
4) justify-content: row - 축 수평 방향 정렬
자식 요소들을 축의 수평 방향으로 어떻게 정렬할 것인지 정합니다.
space- around : 각 item 들 주변에 사각형 공간 확보, space-between : 끝에 있는것들은 부모 크기에 딱 붙고 사이 간격 동일하게 , space-evenly : 각 item 간격 동일하게 조정
5) align-items: row - 축 수직 방향 정렬
자식 요소들을 축의 수직 방향으로 어떻게 정렬할 것인지 정합니다. 요소들이 가로로 정렬되어 있다면 세로 방향으론 어떻게 정렬할 것인지, 세로로 정렬되어 있다면 가로 방향으론 어떻게 정렬할 것인지 정하는 속성입니다.
6) align - content : 축 수직방향 정렬
justify- content 와 비슷하며 속성값 동일하게 사용 가능.
2. 자식요소 Flexbox - 요소들이 차지하는 공간 관련
flex 속성의 값 : grow(팽창지수) , shrink(수축지수) , basis(기본크기)
순서와 기본값 반드시 기억 - flex: grow shrink basis, 기본값 = flex: 0 1 auto
flex: 0 1 auto;
// 아래와 같음
flex-grow: 0;
flex-shrink: 1;
flex-basis: auto;
1) grow : 자식 박스 빈 공간에 얼마나 늘어나나? >> 절대적인 길이 비율 X
정렬축 방향으로 빈 공간이 있을 때, 각 자식 요소들이 얼마나 늘어나서 남는 공간을 차지할 것인지 비율을 정하는 것
이처럼 팽창지수는 자식 요소의 grow값 / 자식 요소들의 grow값의 총합 의 비율로 빈 공간을 가져갑니다.
[예시 3]의 box1은 box1의 팽창지수 6 / 팽창지수의 총합 6 + 3 + 1 = 3/5 만큼의 빈 공간을 가져가고,
[예시 4]의 box1은 box1의 팽창지수 60 / 팽창지수의 총합 60 + 30 + 10 = 3/5 만큼의 빈 공간을 가져갑니다.
팽창지수의 절대적 크기가 아닌 총합에서의 비율로 빈 공간을 차지하게 되는 것이죠.
2) shrink : 자식 박스는 얼마나 줄어들 수 있을까
비율이 클수록 더 많이 줄어든다.
3) basis : 박스의 기본크기
늘어나거나 줄어들기 전에 가지는 기본크기
기억하세요. flex-grow 속성의 값이 0인 경우에만 flex-basis 속성의 값이 유지됩니다. diplay 속성에 flex 가 적용된 컨테이너 내부에 존재하는 자식 박스는 경우에 따라, basis 로 설정된 크기가 항상 유지되는 것은 아닙니다.
- width와 flex-basis를 동시에 적용하는 경우, flex-basis가 우선됩니다.
- 콘텐츠가 많아 자식 박스가 넘치는 경우, width가 정확한 크기를 보장하지 않습니다.
- (flex-basis를 사용하지 않는다면) 콘텐츠가 많아 자식 박스가 넘치는 경우를 대비해, width 대신 max-width를 쓸 수 있습니다.
- Flex Item의 flex-basis가 auto인 경우 width, height 속성이 우선한다.
- Flex Item의 flex-basis가 auto가 아닌 경우, flex-basis 속성이 우선한다.
'web - HTML, CSS' 카테고리의 다른 글
사용자 친화 앱 - 웹 표준 , 크로스 브라우징 , SEO (1) | 2022.12.30 |
---|---|
HTML, CSS- 계산기 목업 만들기 (0) | 2022.10.31 |
CSS 기초 - [Codestates] Section1 (2) | 2022.10.28 |
HTML 기초 - [Codestates] Section1 (1) | 2022.10.27 |
생활코딩 WEB2-css (0) | 2022.09.29 |