
(왼) CSS 없이 HTML만 있을 경우 / (오) HTML + CSS
이렇게 CSS는 페이지의 요소들이 어디에 위치해야 하는지 레이아웃 구조를 잡아주며,
요소 하나하나를 개성있고 사용이 편리하도록 꾸며주는 역할을 한다.

선택자(Selector) , 선언(Declaration) 로 구분된다.속성(property) , 속성값(property value) 의 구조를 가지고 있다.HTML 태그 속성에 입력

<style> 태그에 입력

css 파일 만들어 불러오기

태그와 CSS 속성이 파일로 분리되어 있어 어떤 태그에 CSS 속성을 적용할 지 연결해주어야 함
실무에서 가장 많이 사용되고 있는 방법 → 유지 보수 매우 유리
HTML파일, CSS 파일 따로 만든 뒤 <link>태그를 이용해 연결해주는 방식
링크 태그는 head태그 안에 있어야 한다.
<head>
<link href="style.css" rel="stylesheet" />
</head>
<link> 태그

href : 참조할 css파일 경로를 지정
rel : 해당 태그로 연결시켜줄 파일과의 관계(relation)이며, "stylesheet"라고 적는다.
type : link태그로 연결되는 파일이 무엇인지 알려주며 "text/style" 를 적는다.
<style> 태그 입력선택자는 CSS에서 꾸밀 대상 즉, 속성을 줄 대상을 뜻한다.
선택자에는 tag → class → id 순으로 우선 순위가 적용
**** : 전체 선택자tag : 태그 선택자.class : 클래스선택자#id : 아이디선택자선택자:가상상황 : 가상선택자CSS 선택자 중 가장 기본이 되는 것은 태그, id, class 선택자입니다.
💡 태그 선택자
앞에 붙여 무언갈 따로 붙여줄 필요없이 태그명만 적는다.
<div>
<h1>제목입니다.</h1>
<p>내용입니다.</p>
</div>
div {
background-color: red;
}
h1 {
font-size: 12px;
}
p {
color: blue;
}
💡 id 선택자
id 선택자는 앞에 #을 붙인 뒤 id명을 적어주시면 됩니다. 중복 이름 안됨, 하나의 고유의 선택자
<div>
<h1 id="title">제목입니다.</h1>
<p>내용입니다.</p>
</div>
#title {
font-size : 24px;
}
💡 class 선택자
class 선택자는 앞에 .을 붙인 뒤 class명을 적어주시면 됩니다. 중복 이름 가능.
<div>
<h1 id="title">제목입니다.</h1>
<p class="contents">내용입니다.</p>
</div>
.contents {
font-size : 24px;
}
선택자 사이의 공백 유무에 따라 자손 선택자와 다중 선택자로 나뉜다.
💡 자손 선택자
HTML 문서에는 부모 자식 개념이 존재한다

여러 개의 선택자를 공백으로 연결해서 작성하면 자손 선택자가 된다.
자손 선택자를 이용하면 특정 부모 요소 안에 있는 자식 요소만 선택할 수 있습니다.
/* 자손 선택자 사용방법 - 선택자1 안에 있는 선택자 2를 선택한다. */
.parents .child {
property: value;
}
/* 자손 선택자 사용예시 - .box 안에 있는 #title을 선택한다. */
.box #title {
color : red
}
💡 다중 선택자
여러 개의 선택자를 공백 없이 연결하면 다중 선택자로 사용할 수 있습니다.
다중 선택자는, 중첩된 선택자들을 모두 만족하는 요소를 선택합니다.
font-size : 글자 사이즈font-weight : 글자 두께font-style : 글자 기울임test-decoration : 글자 꾸밈(장식용 선)color : 글자 색상HTML의 각각의 태그들은 모두 ‘박스모델’ 형태로 구성되어 있다.
다만, 몇몇 태그들은 배경색이 없고, 테두리가 없어서 박스처럼 보이지 않을 뿐!

margin: border를 기준으로 박스의 바깥 여백border: 박스의 기준이 되는 바깥 테두리 선, 선의 두께 설정padding: 박스의 안쪽 여백contents: 박스의 실질적인 내용 부분
1) border가 고정되고 contents 크기가 변합니다. (박스가 고정)

2) contents가 고정되고 border의 크기가 변합니다. (박스가 커짐)

❗️실무에서는 박스 크기를 디자이너가 전달해준 화면과 일치시켜야 하기 때문에
바깥 테두리(박스 전체)를 고정시키는 border-box 사용을 권장


각각 box-sizing 속성 값을 content-box / border-box를 주면 박스 사이즈가 달라진게 보임

그러므로 전체 선택자(*)에게 border-box를 주면 박스 사이즈가 일정하게
(디자이너가 원하는 값으로) 설정된다.

div, p, span, h1, h2 등 수많은 HTML 태그는 전통적으로 블록 요소와 인라인 요소 두 가지로 분류된다.
block 요소 :
inline 요소 :
[인프런x코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
https://inf.run/uzui