Camp/웹 개발 기초

[TIL]HTML,CSS,JavaScript 란

taeri7204 2026. 6. 1. 17:54

HTML, CSS, JavaScript는 웹 페이지를 구성하는 3가지 핵심 기술이라고 할 수 있다. 

건물로 비유하자면

 

뼈대(HTML)

인테리어(CSS)

 

기능(JavaScript) 

로 나뉠 수 있다. 

 

HTML이란?

HTML(HyperText Markup Language)은 웹 페이지의 구조와 내용을 정의하는 언어.

<h1>,<p>,<input>과 같은 태그를 사용해 제목, 단락, 입력창의 정보를 브라우저에게 전달.

 

HTML은 태그(Tag) 를 이용해 문서 구조를 표현하는 언어(=Markup language)에 가까움.

 

모든 HTML 문서는 Tag를 기반으로 구조를 구성함.

 

<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <title>🛍️ 나만의 멋진 찜 목록</title>
    
    <link rel="stylesheet" href="./css/style.css">
    <script src="./js/app.js"></script> 
</head>
<body>
    <header>
        <h1>나만의 찜 목록</h1>
    </header>
    
    <main>
        <section class="add-item-section card">
            <form id="item-form"> ... </form>
        </section>
        
        <section class="wishlist-section card">
            <ul id="item-list"> ... </ul>
        </section>
    </main>
    
</body>
</html>

가장 중요한 구성 요소: Form 태그

= 사용자가 입력한 데이터를 서버로 보내는 역할 수행 

 

<!DOCTYPE html> : 문서 형식이 HTML임을 명시

<head> : 문서의 내용, 제목, 인코딩 방식 

 <script src="./js/app.js"> : JavaScript를 어디서 가져올건지

<body>: 실제 화면에서 보이는 부분들이 하위에 구성

 

 

HTML의 핵심 구성 요소

태그(Tag)

- 문서의 특정 부분을 마크업하는데 사용되는 기본적인 단위 꺾쇠 괄호(<>)로 감싸인 HTML 명령어.

- <h1>은 제목, <input>은 입력창을 나타냄.

 

속성(Attribute)
- 태그에 대한 세부 설정을 뜻하며 <input> 태그 내에 이름="값” 형태로 작성되어 구체적인 설정 값을 부여합니다.
- type="text” : 타입이 문자열
- id="username" : 고유한 id가 username 
- placeholder="아이디 입력" : 입력창 안내문

 

요소(Element)
태그와 속성이 합쳐져 실제 웹페이지를 구성하는 완전한 요소로
<input>..</input> 전체를 말합니다.

 

CSS 

CSS(Cascading Style Sheets)는 HTML로 만든 뼈대에 디자인을 입히는 언어입니다. 색상, 레이아웃, 크기 등을 조정합니다.

핵심 개념 3가지

선택자(Selector)

누구를 꾸밀지 정함

 
 
css
h1 { color: blue; }

박스 모델(Box Model)

모든 요소는 상자처럼 생겼음.

 
 
┌─────────────────────┐
│     Margin (바깥)   │
│  ┌────────────────┐ │
│  │ Border (테두리) │ │
│  │ ┌────────────┐ │ │
│  │ │ Padding    │ │ │
│  │ │ (내부여백)  │ │ │
│  │ │ [Content]  │ │ │
│  │ └────────────┘ │ │
│  └────────────────┘ │
└─────────────────────┘

Display 속성

요소를 어떻게 배치할지  정함.

  • block: 한 줄 통째로 차지 (예: div)
  • inline: 필요한 만큼만 차지 (예: span)
  • flex: 현대적인 레이아웃 

JavaScript

JavaScript는 사용자의 행동(클릭, 입력)에 반응해서 웹 페이지를 동적으로 변경하는 언어.

핵심 기능 3가지

1. 이벤트 리스너 - 사용자 행동 감지

 
 
javascript
// 버튼이 클릭되면 함수 실행
button.addEventListener('click', function() {
  alert('클릭됐어요!');
});

// 입력창에 글자를 입력하면 실시간 반응
input.addEventListener('input', function() {
  console.log(input.value);
});

2. DOM 제어 - 화면 변경하기

 
 
javascript
// HTML 값 읽기
let username = document.getElementById('username').value;

// HTML 생성하기
const newItem = document.createElement('li');
newItem.textContent = '새 항목';

// HTML에 추가하기
list.appendChild(newItem);

// HTML 삭제하기
element.remove();

3. 서버와 통신 - 데이터 주고받기

 
 
javascript
// 데이터를 서버로 보내기
fetch('https://api.example.com/items', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({ name: '새 상품', price: 10000 })
});

세 기술이 함께 동작하는 과정

  1. HTML: 사용자가 입력할 수 있는 폼 생성
  2. CSS: 폼을 꾸밈
  3. JavaScript:
    • 사용자가 버튼을 클릭하면 감지. (이벤트 리스너)
    • 입력값을 읽어서 JSON 객체로 만듦. (DOM 읽기)
    • 서버로 데이터를 보냄.(fetch)
    • 서버의 응답을 받아 화면을 업데이트.(DOM 쓰기)

백엔드 개발자가 꼭 알아야 할 것

  • HTML: <form> 태그의 name 속성이 데이터 전송의 핵심
  • CSS: 레이아웃 문제가 생겼을 때 개발자 도구로 원인을 진단할 수 있어야 함
  • JavaScript: fetch()로 서버와 통신하는 기본 원리 이해

 

 

'Camp > 웹 개발 기초' 카테고리의 다른 글

[TIL] REST API란? Postman으로 Mock Server 만들기  (0) 2026.06.04
[TIL]서버와 HTTP  (0) 2026.06.03
[TIL]WEB이란 무엇인가  (0) 2026.06.01
[TIL]프론트엔드와 백엔드  (0) 2026.05.28