CSS란 무엇인가

잘 만들어진 웹사이트를 열고 CSS를 제거하면, 흰색 배경에 검은 텍스트로만 된 긴 열이 남습니다. 모든 제목, 모든 문단, 모든 링크가 순서대로 쌓여있고 아무런 스타일도 없습니다. 그 평범한 열이 바로 HTML입니다. 페이지를 설계된 모습으로 만드는 모든 것, 색상, 간격, 글꼴, 열과 카드, 네비게이션 바는 모두 CSS입니다. 이 장은 그 두 번째 언어가 무엇인지, 그리고 첫 번째 언어와 함께 어떻게 작동하는지에 관한 것입니다.
CSS 적용 전후의 페이지
CSS는 **캐스캐이딩 스타일시트**의 약자입니다. 중요한 부분은 스타일입니다. CSS는 페이지의 모습을 설명하는 방법입니다. 당신의 HTML은 "이것은 제목이고, 이것은 문단이고, 이것은 버튼이다"라고 말합니다. 그러면 CSS는 "제목을 크고 진한 파란색으로 만들고, 버튼에 패딩과 둥근 모서리를 추가해"라고 말합니다.
HTML을 방의 내용, 가구와 배치로 생각하고, CSS를 페인트, 조명, 배열로 생각해보세요. 같은 방이지만, 하나는 텅 비어있고 하나는 당신이 있고 싶은 곳입니다. CSS는 HTML의 특정 부분을 가리키고 모습을 바꾸는 별도의 규칙들로 작성합니다.
h1 {
color: navy;
font-size: 2rem;
}이것은 하나의 CSS 규칙입니다. 페이지의 모든 <h1> 제목을 찾아서 진한 파란색으로 만들고 더 크게 합니다. HTML은 정확히 그대로 유지됩니다. 오직 모습만 변합니다.
CSS가 HTML을 가리키는 방법
CSS는 페이지의 올바른 부분을 찾을 수 있을 때만 유용합니다. 그것은 **선택자**로 합니다. 선택자는 규칙의 시작 부분에서 무엇을 스타일링할지 명시합니다. 위의 규칙에서 h1은 선택자이며, "모든 h1 제목"을 의미합니다.
일반적으로 HTML에서 요소에 class를 지정하고 CSS에서 그 클래스를 가리켜서 요소를 대상으로 합니다. 클래스는 당신이 선택하는 레이블입니다.
<button class="buy-button">지금 구매</button>.buy-button {
background-color: teal;
color: white;
}.buy-button 선택자는 그 클래스를 가진 요소를 찾아서 스타일을 적용합니다. 나중에 많은 종류의 선택자를 만나겠지만, 클래스가 가장 자주 사용하는 선택자입니다.
class="name"을 넣은 다음, CSS에서 .name을 스타일링합니다. 다른 종류는 아직 걱정하지 마세요. 클래스만으로도 먼 길을 갈 수 있습니다. "캐스캐이딩"의 의미
캐스캐이딩 스타일시트의 첫 번째 단어는 사람들이 건너뛰는 것이지만, 많은 것을 설명합니다. 하나의 요소에 여러 개의 규칙이 적용될 수 있으며, 서로 모순될 수 있습니다. 어쩌면 하나의 규칙은 문단이 회색이라고 하고 다른 규칙은 이 특정 문단이 검은색이라고 합니다. **캐스캐이드**는 브라우저가 어느 것이 이길지 결정하는 규칙의 집합입니다.
대부분의 경우 한 가지로 귀결됩니다. 두 규칙이 동등하게 구체적이면, 나중에 작성된 것이 이깁니다. 아직 전체 그림이 필요하지 않습니다. 스타일이 예상한 대로 나타나지 않으면, CSS가 깨진 것이 아니라 다른 규칙이 그것을 이겼기 때문이라는 것을 알아두세요.
CSS의 다음 단계
CSS는 핵심적으로 작은 언어입니다. 선택자와 몇 가지 속성-값 쌍이지만, 먼 길을 갑니다. 요소를 대상으로 하고 속성을 설정할 수 있으면, 이 핸드북의 나머지는 알아야 할 속성들과 그 위에 구축된 시스템들에 관한 것입니다. 간격과 크기를 제어하는 박스 모델, 그 다음 색상과 타입, 그 다음 전체 페이지를 배열하는 레이아웃 도구인 flexbox와 grid입니다.
다음 장인 CSS 작동 방식에서는 이 장에서 소개한 메커니즘에 대해 구체적으로 설명합니다. 페이지에 CSS를 첨부하는 세 가지 방법, 규칙의 정확한 해부학, 캐스캐이드와 상속이 모든 요소의 최종 모습을 어떻게 결정하는지입니다.

