1. 인라인 방식
<div style="background-color: red;">DIV입니다.</div>
속성을 적용할 HJTML 태그에 직접 CSS를 입력해주는 방식
(실무에서는 거의 사용X)
2. <style>
태그 이용해 html 파일 내 작성
반드시 html과 css를 한 파일에 넣어야 되는 게 아니면 사용X
3. HTML & CSS 파일 따로 만든 뒤 link 태그를 이용해 연결 (실무에서 가장 많이 활용)
<head></head>
태그 내
<link rel="stylesheer" href="./index.css">
rel
: 해당 태그로 연결시켜줄 파일과 어떤 관계인지 지정 "stylesheet"
href
: 연결할 파일의 경로 지정
Emit
<p class="contents"></p>
<p id="headline"></p>
<div></div>
<div></div>
<div></div>
<div></div>
font 기본 속성
CSS Box model
모든 HTML 요소는 박스 형태로 되어 있음
content
: 요소의 실제 내용이 차지하는 영역padding
: 내용과 테두리 사이의 간격, 내부 여백에 해당합니다.border
: 내용과 패딩을 감싸는 테두리margin
: 테두리와 이웃하는 요소 사이의 간격, 외부 여백에 해당합니다.box-sizing
: 요소의 너비와 높이를 계산하는 방법을 지정합니다.box-sizing
content-box가 default라서 많은 이슈 발생
(협업 시 border-box 처리를 잘 못해서 레이아웃 깨지는 경우 많음)
content-box : Content 영역을 기준으로 box의 size를 적용합니다. (기본값)
컴퓨터는 content 넓이인 400px, 사람의 뇌는 padding을 포함한 500px이라고 인식함
=> border-box를 기본적으로 적용한 뒤에 작업을 진행할 것
border-box : Border 영역을 기준으로 box의 size를 적용합니다.
content와 padding을 포함한 box-size가 400px
사람의 뇌와 컴퓨터가 인식하는 box size를 일치시킴
css 작업 전 모든 요소에 box-sizing: border-box 주고 시작
* { margin: 0; padding: 0; box-sizing: border-box; }
- box1과 box3의 비교를 통해 content-box가 기본값임을 알 수 있음
block vs inline
block 요소
:
inline 요소
:
여러개의 요소를 연속해서 입력해도 자동으로 다음 줄로 넘어가지 않는다.
태그에 할당된 공간 만큼의 너비만 차지한다.
width나 height 같은 box의 규격을 지정하는 속성은 적용되지 않음 (=> display:block으로 바꾸면 가능)
box 안에 본문으로 들어갈 수 있는 종류의 태그들
a, span, img, strong, em, input, button, textarea, select...
block 요소와 inline 요소의 차이
- inline 요소는 width나 height 적용 안 됨
block 요소에 display: inline;
inline 요소에 display: block; 적용한 모습
❗️ 심화 학습 주제!
시멘틱 태그 (Sementic tag)
HTML4까지는 요소들을 inline vs block으로 구분했지만, HTML5와시멘틱 웹(Sementic Web)
이 도입되면서 더이상 요소를 inline vs block 으로 구분하지 않습니다. 대신 플로우 컨텐츠, 프레이징 컨텐츠, 섹션 컨텐츠, 헤딩 컨텐츠 등의 분류를 사용합니다.하지만 요소의 특성을 알고 css를 컨트롤하기 위해서는
inline vs block 개념을 우선 파악
해야 하기 때문에, 해당 분류로 소개를 드린 것입니다. inline vs block 구분에 익숙해지면 하단의 문서를 참고하셔시멘틱 태그
와시멘틱 웹
에 대해서도 공부해보세요!
실습 - 나만의 일기장
(index.html)
(index.css)