HTML과 CSS에 대해 공부하는 시간을 가졌다.
기본적인 내용들은 이미 알고 있긴했지만 Semantic tag와 flexbox, grid에 대해 더 상세히 공부할 수 있는 시간이었다.
아래는 추가로 공부한 내용
W3S와 드림코딩 by 엘리 유튜브를 보며 정리했다..
ex)
<div class=“nav”> </div>
<div class=“header”> </div>
<div class=“footer”> </div>
대신에
<nav> </nav>
<header> </header>
<footer> </footer>
종류
- <article> : 반복되는, 재사용 가능한 것
- <aside>
- <details>
- <figcaption>
- <figure>
- <footer> ★
- <header> ★
- <main> ★
- <mark>
- <nav> ★
- <section>
- <summary>
- <time>
드림코딩 by 엘리 참고
사용자에게 보여지지 않는 BOX와 보여지는 ITEM
BOX - header, footer, nav, aside, main, section, article, div, span, form
ITEM - a, button, input, label, img, video, audio, map, canvas, table
Block : 한 줄을 모두 차지
Inline : 자기 크기 만큼만 공간을 차지
<Opening tag> Content </Closing tag>
-> 이렇게 한 세트를 Element 라고 함
태그 안에는 Attribute(속성)가 들어감
selector {
property : value;
}
구체적으로, 태그에 가깝게 설정할수록 우선순위가 높아짐
Selector 연습
Flexbox 연습
Grid 연습
display: block; - block 속성으로 바꿔줌
display: inline-block; - 컨텐츠 크기에 상관 없이 inline 속성으로
display: inline; - 컨텐츠 자체만을 꾸며주는 inline 속성으로
position: static; -> 기본값 -> 입력하는 값으로 이동할 수 있는 상태로 바꿔야함
-> relative, absolute, fixed, sticky
position: relative;
-> 원래 있어야하는 자리에서 상대적으로 이동
position: absolute;
-> item이 담겨있는 상자 안에서 이동
position: fixed;
-> 담겨있는 상자에서 완전히 벗어나서 이동
position: sticky;
-> 원래 있어야하는 자리에 있으면서 스크롤링을 해도 계속 그자리에 고정
display: grid;
grid-template-columns: 20% 20% 20% 20% 20%;
grid-template-rows: 20% 20% 20% 20% 20%;
-> 5*5 그리드 생성
grid-column-start: 1; (1번째 열)
grid-column-end: 5; (start번째부터 end-1번째 열까지 확장)
end를 먼저 써서 역으로 확장할 수도 있음 (end-1번째 부터 start번째까지)
값을 음수로 할 수도 있음 (end: -1이면 뒤에서 1번째, start는 -1이면 왼쪽으로 한칸가서 범위를 넘어갔다가 -2부터 맨 뒷칸에서 나타남)
grid-column-end: span 2; (start로 부터 2칸 지정하기)
grid-column-start: span 3; (end-1번 부터 앞으로 3칸 지정하기)
grid-column: 4 / 6; (start와 end를 한번에 지정, 4번부터 5번까지)
grid-column: 2 / span 3; (2번부터 3칸 지정)
grid-row 도 같은 방식으로 작동
grid-area: grid-row-start / grid-column-start / grid-row-end / grid-column-end;
order: 0; (기본값, 숫자를 적어 순서 지정)
grid-template-columns: repeat(5, 20%);
grid-template-columns: 20% 20% 20% 20% 20%;
-> 동일한 결과
%단위 말고도 px, em과 같은 길이 단위도 사용 가능
fr (fractional) : 일정 비율로 나눠줌
grid-template-columns: 1fr 5fr; (grid공간을 1:5 비율로 나눔
grid-template-columns: 50px repeat(3, 1fr) 50px; (양 끝은 50px씩 차지하고 가운데 남은 부분을 1:1:1 로 나누어 차지)
grid-template: rows / columns; (row, columns을 한번에 설정)
grid-template: 1fr 50px / 20% 1fr; (맨 아래 50px 차지, 맨 왼쪽 20% 차지, 총 4칸짜리 grid)