스킬캠퍼스

오늘 끝나면

HTML과 CSS

  • HTML과 CSS의 핵심 문제를 한 문장으로 설명한다
  • 오른쪽 실습에서 HTML과이 어떻게 움직이는지 관찰한다
  • 다음 강의와 이어지는 한계를 말할 수 있다

실습 미션

웹페이지의 뼈대와 화장 — 구조 따로, 꾸미기 따로 이 문장이 실제로 무슨 뜻인지 실습에서 한 번 손으로 확인한다.

성공 조건

  • 실습의 기본값을 먼저 관찰
  • 입력값이나 모드를 한 번 이상 바꿔 결과 비교
  • 왜 결과가 바뀌었는지 한 문장으로 설명

개발 · Day 10 / 웹페이지의 재료

뼈대 따로
꾸밈 따로

웹페이지는 두 재료로 만든다. HTML은 무엇이 있는지를 정한다. 구조와 내용이다. CSS는 그게 어떻게 보이는지를 정한다. 색과 여백, 배치다. 이 둘을 일부러 갈라놓았다.

P.01개발 · Day 10

HTML, 무엇이 있는가

웹페이지의 뼈대를 적은 것이 HTML이다. HyperText Markup Language의 줄임말로, 글에 꼬리표(태그)를 다는 언어다.

태그는 여는 것과 닫는 것이 짝을 이룬다. <h1>제목</h1>처럼 감싼다. h1은 가장 큰 제목이고, p는 문단(paragraph)이다.

HTML은 꾸밈을 모른다. 색도 크기도 정하지 않고, "여기 제목, 여기 문단"이라는 뼈대만 말한다.

태그가 곧 내용 블록
HTML, 태그로 감싼 내용 블록<h1>안녕, 웹.</h1>제목<p>이건 문단이다.</p>문단<button>눌러보기</button>버튼

여는 태그, 내용, 닫는 태그가 짝을 이룬다. 색도 크기도 없는 순수 뼈대다.

P.02개발 · Day 10

CSS, 어떻게 보이는가

뼈대에 색과 크기, 여백과 배치를 입히는 것이 CSS다. Cascading Style Sheets의 줄임말로, "제목은 파랑, 글자는 크게, 가운데로" 같은 꾸밈 규칙을 모아둔 것이다.

규칙 하나는 이렇게 생겼다. h1 { color: blue; }은 "모든 h1을 파랑으로"라는 뜻이다. font-size는 글자 크기를 정하고, padding은 안쪽 여백을 정한다.

같은 HTML이라도 CSS만 갈아끼우면 모습이 완전히 달라진다. 내용은 그대로 두고 옷만 바뀐다.

같은 글, 다른 옷
같은 HTML: <h1>안녕, 웹.</h1>안녕, 웹.작게 · 검정 · 왼쪽안녕, 웹.크게 · 파랑 · 가운데↑ 글(내용)은 똑같다. CSS만 다르다.h1 { color: blue; font-size: 22px; }꾸밈 규칙 한 줄이 오른쪽 모습을 만든다

내용은 그대로 두고 옷만 갈아입힌다. 그것이 CSS가 하는 일이다.

P.03개발 · Day 10

왜 일부러 갈라놨나

뼈대(HTML)와 꾸밈(CSS)을 한 파일에 섞을 수도 있었지만 일부러 나눴다.

섞어두면 디자인을 한 번 바꿀 때 모든 페이지를 다 뜯어고쳐야 한다. 갈라놓으면 CSS 한 곳만 고쳐도 사이트 전체 색이 한 번에 바뀐다.

역할도 나뉜다. 내용 쓰는 사람은 HTML만 보고, 꾸미는 사람은 CSS만 보면 된다.

컴퓨터에게도 좋다. 검색엔진과 화면낭독기는 HTML 뼈대만 보고 "여기가 제목, 여기가 문단"임을 이해한다. 이것을 관심사 분리라고 한다.

구조 ↔ 꾸밈 분리
HTML구조 · 내용무엇이 있나CSS꾸밈 · 배치어떻게 보이나안녕, 웹.= 화면에 보이는 페이지

따로 짓고 합쳐 그린다. 한쪽만 고쳐도 다른 쪽은 건드리지 않는다.

P.04개발 · Day 10

직접 굴려보기

위는 HTML, 아래는 CSS다.

위쪽 버튼으로 <h1>, <p>, <button>을 넣고 빼면 미리보기에서 블록이 생겼다 사라진다. 구조를 바꾸는 일이다. 아래 슬라이더로 글자 크기와 여백, 색을 바꾸면 같은 블록이 모습만 변한다. 꾸밈을 바꾸는 일이다.

태그를 빼도 슬라이더 값은 그대로 남는다. 둘이 따로 논다는 것이 한눈에 보인다. 이 분리가 웹 전체를 떠받친다.

코드 보기
<!-- HTML: 무엇이 있나 -->
<h1>안녕, 웹.</h1>
<p>이 한 줄은 문단이다.</p>

/* CSS: 어떻게 보이나 */
h1 { font-size: 28px;
     color: blue;
     text-align: center; }
HTML·CSS 실험실
HTML·CSS 실험실 · 구조를 넣고, 꾸밈을 굴려 본다
HTML, 무엇을 넣을까 (구조·내용)
CSS, 어떻게 보일까 (꾸밈·배치)
font-size28px
padding16px
color (hue)222°
text-align
미리보기 (브라우저가 그린 결과)
안녕, 웹.
이 한 줄은 문단이다. 구조는 그대로, 꾸밈만 바뀐다.
HTML (구조)
<h1> <p>
CSS (꾸밈)
font-size: 28px; padding: 16px; color: hsl(222,80%,45%); text-align: center;
태그를 빼도 꾸밈 값은 그대로, 구조와 꾸밈은 따로 굴러간다
P.05개발 · Day 10

둘을 잇는 한 가지, 선택자

따로 논다면 CSS는 어느 HTML을 꾸밀지 어떻게 알까. 답은 선택자다.

CSS 규칙 맨 앞 글자가 선택자다. h1이라 쓰면 모든 h1을 겨냥하고, p라 쓰면 모든 문단을 겨냥한다. 겨냥한 뒤에 옷을 입힌다.

더 콕 집고 싶으면 이름표를 붙인다. HTML에 class="hero"를 달고 CSS에 .hero라 쓰면 그 블록만 꾸민다. 점(.)이 "클래스 이름"이라는 신호다.

HTML로 짓고, CSS로 입히고, 선택자로 잇는다. 이것이 웹페이지의 재료다.

Q. 그럼 JavaScript는 뭘까?HTML과 CSS는 가만히 있는 페이지를 만든다. 거기에 움직임과 반응을 더하는 것이 자바스크립트다. 버튼을 누르면 뭔가 일어나게 하는 부분이다. HTML이 뼈대, CSS가 옷, JS가 행동이다.
셀렉터 = 겨냥하기
CSS 규칙h1 { color: blue; }↑ 선택자. 누구를 꾸밀지 겨냥한다HTML 안의 모든 h1<h1>큰 제목파랑 적용된다<h1>또 다른 제목파랑 적용된다

선택자가 HTML을 겨냥하면 그에 맞는 모든 블록에 꾸밈이 입혀진다.

3줄 요약

  1. 1웹페이지의 뼈대와 화장 — 구조 따로, 꾸미기 따로
  2. 2HTML과 CSS은 코딩 기본 → 인터넷과 웹 → 프론트/백엔드 → 데이터 → 배포 흐름 안의 한 칸이다.
  3. 3개념을 외우는 것보다 입력을 바꾸면 무엇이 달라지는지 보는 것이 우선이다.

완료 전 점검

복습 카드

HTML과

웹페이지의 뼈대와 화장 — 구조 따로, 꾸미기 따로

입력

프로그램이 받아들이는 값이나 사용자 행동

규칙

입력을 처리하는 코드의 절차