카테고리 없음

[JS] 자바스크립트, HTML, CSS로 예제 만들어보기

dotudy 2025. 7. 1. 00:28

HTML을 공부해보자..!

 

 

<head>: HTML 문서의 헤더 부분을 시작하는 태그

문서의 제목, 문자 인코딩 방식, 뷰포트 설정 등 브라우저가 페이지를 어떻게 해석하고 표시할지에 대한 정보를 넣음. 

 

<meta name="viewport" content="width=device-width, initial-scale=1.0">

모바일 반응형 웹페이지를 만들기 위한 설정

viewport: 브라우저가 웹페이지를 어떤 크기로 보여줄지 설정

  width=device-width: 기기의 화면 너비에 맞춰 페이지 크기를 설정

  initial-scale=1.0: 처음에 100% 배율로 보여주도록 설정

=> 이런 설정이 없으면 모바일에서 페이지가 확대되거나 이상하게 보일 수 있다.

 

<title>칼러 피커</title>

브라우저 탭에 보이는 웹페이지 제목 설정

 

<body>

본문 시작을 나타냄.

 

<div>
    <p id="colorText">칼러 코드 검색</p>
    <input id="colorPicker" type="color">
</div>

<div>:

박스 하나를 만드는 태그

여러 요소를 그룹으로 묶을 때 사용한다. 

 

<p>:

문단을 나타내는 태그

화면에는 "칼러 코드 컴색"이라는 텍스트가 보임.

id= "colorText" -> 자바스크립트나 CSS에서 이 문장을 선택할 수 있도록 고유 이름을 붙임.

 

<input>:

사용자 입력을 받을 수 있는 상자를 만드는 태그

type="color" -> 특별한 타입으로 색상을 선택할 수 있는 칼러 피커를 만들어줌.

id="colorPicker" -> 이 칼러 피커를 나중에 자바스크립트나 CSS로 제어할 수 있도록 고유 이름을 부여함.

 

최종 코드

<!DOCTYPE html>
<html lang = "ko">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>칼러 피커</title>
</head>
<body>
    <div>
        <p id="colorText">칼러 코드 검색</p>
        <input id="colorPicker" type="color">
    </div>
</body>
</html>

 

이제 css 파일로 화면을 꾸미고 html에 적용해보자.

body {
    text-align: center;
    font-family: sans-serif;
    display: grid;
    place-items: center;
    height: 100vh;
    background: #000;
}
div {
    background: #fff;
    padding: 2rem;
    border-radius: 1rem;
    width: 14rem;
    box-shadow: 0 0 1rem rbga(0,0,0,.5);
}

 

그리고 js파일로 콘솔에 실행이 잘됐다는 출력을 찍어보자.

이를 적용한 HTML 코드는 다음과 같다.

<!DOCTYPE html>
<html lang = "ko">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>칼러 피커</title>
    <link rel="stylesheet" href="css/style.css">
    <script src = "js/script.js" defer></script>
</head>
<body>
    <div>
        <p id="colorText">칼러 코드 검색</p>
        <input id="colorPicker" type="color">
    </div>
</body>
</html>

 

여기서 중요!!

<script> 태그는 head, body 어디에 써도 상관없다. 그러면 defer은 뭐지?

 

script 태그의 기본 동작

<head>
  <script src="main.js"></script>
</head>
  • 기본적으로 HTML 파싱을 멈추고 JS 파일을 즉시 불러와서 실행한다.
  • 따라서 스크립트가 클 경우 로딩이 느려지고 DOM이 완전히 로딩되기 전에 실행되어 오류가 날 수 있다.

-> defer 사용!

 

defer의 역할

<script src="main.js" defer></script>
  • HTML을 끝까지 파싱한 후 JS 파일을 실행한다.
  • DOMContentLoaded 이벤트 전에 실행되며, head에 써도 안전하게 작동한다. 즉, HTML 문서를 다 읽고 나서 스크립트를 실행하는 것이다.
  • 주로 DOM 조작하는 스크립트 일 때 많이 사용된다.
  • 보통 <head>에 있는 <script>는 HTML을 다 읽기도 전에 실행되기 때문에 DOM 조작을 하려면 에러가 날 수 있다!
  • 즉, deferHTML 해석을 중단하지 않고, 스크립트를 백그라운드에서 병렬로 다운로드한 다음, HTML 파싱이 끝난 후에 실행되도록 만드는 속성
  • 따라서 웹 페이지 읽기 속도가 개선된다. 
  • 기본적으로 <head> 태그 안에 자바스크립트 파일을 불러오도록 지정하고 defer 속성을 붙여 불러오는 것이 가장 좋다.