궁금했던것: div 태그(한 라인 전체 차지)는 Division의 약자로 웹사이트의 레이아웃을 만들때 주로 사용, 논리적 구분을 정의, CSS를 활용하여 스타일 적용,display 속성이 block임, 줄바꿈이 됨
inline은 한줄에 여러 개(image)
span 태그는 display 속성이 inline, 줄바꿈이 안됨.
블록 레벨 요소: 요서를 삽입했을 때 혼자 한 줄을 차지하는 요소, 요소 너비가 100%(h1, div, p)
인라인 레벨 요소: 줄을 차지하지 않는 요소, 화면에 표시되는 콘텐츠만큼만 영역을 차지하고 나머지 공간에는 다른 요소가 올 수 있음(image, strong, span)
박스모델: 박스 형태의 요소
- 콘텐츠 영역
- 패딩: 박스와 콘텐츠 영역 사이의 여백
- 테두리: 박스 테두리
- 마진: 여러 박스 모델 사이의 여백
패딩, 테두리, 마진은 각각 상하좌우로 나뉘어 있어 네 방향의 스타일 설정 가능
width(넓이), height(높이): 콘텐츠 영역의 크기를 지정한다.(크기, 백분율: 창의 사이즈가 줄면 같이 줄어듦, auto)
box-sizing: 박스 모델의 크기 계산, 실제 박스 모델의 너비를 계산할 때 어디까지 포함할지 결정하는 속성.
박스 크기: width, padding, border
- border-box: 테두리까지 포함해서 너빗값을 지정합니다.
- content-box: 콘텐츠 영역만 너빗값을 지정합니다. 기본값
box-shadow: 박스 모델에 그림자 효과를 줌,
[box-shadow: < 수평거리 >< 수직 거리 >< 흐림 정도 >< 번짐 정도 >< 색상 > inset]
수평거리, 수직거리: 양수 값은 오른쪽, 아래, 음수값을 왼쪽, 위
흐림정도: 0이 기본값으로 진한 그림자, 커질 수록 부드러운 그림자, 음숫값을 사용 불가능
번짐정도: 양숫값은 모든 방향 퍼져서 , 음숫값은 축소해서, 기본값 0
inset: 안쪽 그림자.
박스 모델의 값 지정 방향: top->right->bottom->left
border-style: 테두리 스타일 지정, 기본값 none
none | 테두리가 없음 |
solid | 실선 |
dotted | 점선 |
dashed | 짧은 직선 |
double | 이중선, 두 선의 간격이 border-width 값 |
테두리 스타일을 4방향 모두 아르게 지정하고 싶다면 border-top-style, border-right-style, border-bottom-style, border-left-style.
border-color: 테두리 색상 지정.
border-width: 테두리 두께를 지정
[border-width:<크기>|thin|medium|thick]
border: 테두리 스타일과 두께, 색상을 한꺼번에 표현한다.
border-radius: 테이블의 테두리, 이미지가 둥글게, 박스 모델의 꼭짓점 부분에 원(반지름 r)이 있다고 가정해서 둥글게 처리
사진을 둥글게 하고 싶다면 반지름값을 너비나 높이의 50%로 지정.
[border-radius: < 크기 >|< 백분율 >]
border-top-left-radius, border-top-right-radius, border-bottom-left-radius, border-buttom-right-radius
margin: 여백을 조절하는 속성, 현재 요소 주변의 여백
[margin: <크기>|<백분율>|auto(가운데 정렬)]
마진 중첩 현상: 요소를 세로로 배치할 경우, 마진과 마진이 만날 때 마진 값이 큰 쪽으로 겹쳐지는 것, 요소를 가로로 배치할 경우는 상관 없음.
margin: 30px; 을 줄 경우 60px이 아닌 30px이 된다.
padding: 콘텐츠와 테두리 사이의 여백.
display: 요소의 배치 방법 결정(사용할 수 있는 속성 값이 아주 많음), 블록 레벨 요소와 인라인 레벨 요소를 서로 바꿔서 사용 가능
종류 | 설명 |
block | 인라인 레벨 요소를 블록 레벨 요소로 만듭니다. |
inline | 블록 레벨 요소를 인라인 레벨 요소로 만든다. |
inline-block | 인라인 레벨 요소와 블록 레벨 요소의 속성을 모두 가지고 있으며 마진과 패딩을 지정할 수 있다. |
none | 해당 요소를 화면에 표시하지 않습니다. |
float: 요소를 왼쪽이나 오른쪽에 떠 있게 만듦. image, div (right, left, none)
clear: float 속성을 해제, 해제한 뒤 다시 float를 줄 수 있다. p.272
display: inline-block과 float: left 속성의 차이
display: inline-block을 가로로 배치하면서도 기본 마진과 패딩을 가지고 있지만, float: left로 배치하면 가로로 배치될 때 요소에 기본 마진과 패딩이 없다. 그래서 필요하면 요소마다 마진과 패딩을 지정해야 한다. 그리고 float: left를 사용하면 clear 속성으로 플로팅을 해제해야 한다.
left, right, top, bottom: 웹 요소의 위치를 정한다. //position 과 같이
positon: 배치 방법을 지정
종류 | 설명 |
static | 문서의 흐름에 맞춰 배치한다. 기본값. |
relative | 위칫값을 지정할 수 있다는 점을 제외하면 static 과 같음 |
absolute | relative값을 사용한 상위 요소를 기준으로 위치를 지정해 배치 |
fixed | 브라우저 창을 기준으로 위치를 지정해 배치 |
배경위에 글자 표시하기
시맨틱(의미론적인, 의미가 통하는) 태그: 문서의 구조를 만듦. HTML태그
- 화면 낭독기 같은 보조 기기에서 사이트의 구조를 이해할 수 있다.
- 문서 구조가 정확히 나눠지므로 PC나 모바일 등 다양한 화면에서 웹 문서를 표현하기가 쉽다
- 웹 사이트를 검색할 때 필요한 내용을 정확히 찾을 수 있다.
<header>: 헤더 영역, 사이트 전체의 헤더or 특정 영역의 헤더, 검색창이나 사이트 메뉴 삽입
<nav>: 내비게이션 영역, 웹 문서 위치에 영향을 받지 않음, 문서 안에 여러 개 만들 수 있음.(id로 구분)
<main>: 핵심 콘텐츠를 담는다. 웹문서에서 핵심이 되는 내용, 웹 문서마다 다르게 보여주는 내용으로 구성, 웹 문서에서 한번만 사용
<article>: 독립적인 콘텐츠를 담는다. 독립된 웹 콘텐츠 항목(따로 떼어도 콘텐츠가 되는 내용), <section>태그를 포함할 수 있음
<section>: 콘텐츠 영역을 나타낸다. 몇 개의 콘텐츠를 묶는 용도로 사용, css 적용을 위해 묶는 용도(<div>)로 쓰지 말것
<aside>: 본문 내용외에 왼쪽이나 오른쪽 혹은 아래쪽에 사이드 바 표시, 필수 요소가 아니므로 필요할 경우에만 사용
<footer>: 푸터 영역을 나타냄. 자이트 제작 정보나 저작권 정보, 연락처 등, 다른 시맨틱 태그 사용해 다양한 정보 포함
<div>: 여러 소스를 묶는다. 소스를 묶는 용도, 영역을 구별하거나 스타일 적용하기 위해
레이아웃: 웹 사이트의 정보와 내용을 보기 편하게 한 화면에 나누어 디자인한 것.
'HTML+CSS+자바스크립트' 카테고리의 다른 글
자바스크립트 (0) | 2023.05.25 |
---|---|
CSS고급 선택자 (0) | 2023.05.24 |
p.233,234,235 예제 (0) | 2023.05.22 |
p.191, 192 예제 (0) | 2023.05.22 |
CSS의 기본(1) (0) | 2023.05.22 |