Development/Javascript
[JS]JS는 왜 필요한가? HTML/CSS만으로 안 되는 것들
madebydev
2025. 6. 17. 15:26
🌟 JS는 왜 필요한가?
─ HTML/CSS만으로는 할 수 없는 것들
웹 퍼블리셔로 시작하면 처음에는 HTML과 CSS만으로도 꽤 많은 걸 만들 수 있습니다
레이아웃도 짜고, 버튼도 만들고, 반응형 디자인도 할 수 있죠
하지만… 어느 순간, 한계가 찾아옵니다
예를 들어 이런 질문이 생기기 시작하죠
“버튼을 눌렀을 때 팝업을 띄우고 싶은데… CSS로만 되나?”
“스크롤 내리면 요소가 부드럽게 등장하면 좋겠는데… 어떻게 하지?”
“사용자가 입력한 값을 실시간으로 확인하려면?”
이럴 때 등장하는 게 바로 JavaScript입니다
📌 HTML/CSS와 JS의 역할 구분
구분 | 역할 | 예시 |
---|---|---|
HTML | 구조 | 제목, 이미지, 버튼, 입력창 등 |
CSS | 스타일 | 색상, 폰트, 여백, 애니메이션 등 |
JS | 동작 & 상호작용 | 버튼 클릭 시 동작, 팝업, 자동 슬라이드 등 |
🛠️ HTML/CSS만으로 안 되는 대표적인 예
① 버튼을 눌렀을 때 팝업 띄우기
<!-- HTML -->
<button id="openBtn">팝업 열기</button>
<div id="popup" style="display: none;">이건 팝업이에요!</div>
// JS
document.getElementById('openBtn').addEventListener('click', function() {
document.getElementById('popup').style.display = 'block';
});
② 실시간 입력값 표시
<input type="text" id="nameInput" placeholder="이름을 입력하세요" />
<p>안녕하세요, <span id="userName"></span>님!</p>
document.getElementById('nameInput').addEventListener('input', function(e) {
document.getElementById('userName').textContent = e.target.value;
});
③ 스크롤 시 애니메이션 실행
사용자가 페이지를 내릴 때 특정 요소가 페이드인처럼 등장하는 효과는IntersectionObserver
, scroll 이벤트
, class 추가
등의 JS 동작이 필요합니다
📌 마무리
HTML과 CSS만으로도 멋진 정적 웹사이트를 만들 수 있지만,
웹사이트가 더 살아 움직이게 하려면
JavaScript는 필수 도구입니다
앞으로 글에서는 퍼블리셔가 실무에서 자주 마주치는 예제를 중심으로
HTML, CSS, JS가 어떻게 어울려 동작하는지 함께 다뤄보겠습니다!