Notice
Recent Posts
Recent Comments
Link
«   2026/07   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

어리바리 신입 개발자의 얼렁뚱땅 개발 기록 ✨

23.03.02 / 태그, 요소, 속성 본문

Front - end/HTML

23.03.02 / 태그, 요소, 속성

낫쏘링 2023. 3. 8. 00:48
728x90

HTML 기본 구조

1.HTML에서 사용하는 명령어 - 태그(Tag)라고 한다.

<...>로 나타내며, 대부분 한 쌍으로 이루어져 있다.

HTML 문서는 웹 브라우저에서 실행된다

=> 웹 표준을 준수 - 브라우저 엔진(표준) - 정상적으로 읽을 수 있다. (정상적으로 뷰 포트 영역에 렌더링)

 

<span style="color: red;">smart</span>  <!--  <span>~</span> : span 요소 / color : 속성  / red : 값  -->

요소(Element)

- <h1>안녕하세요.</h1> : 태그 + 태그 사이에 있는 내용(콘텐츠)  = 요소라고 한다.   -> h1 요소

- 내용 앞 태그를 시작(열린) 태그 / 뒤 태그 종료(닫는) 태그

  * 태그는 대소문자를 구별하지 않는다. 단, W3C에서 소문자를 권장하고 있기 때문에 소문자를 사용하는 것이 일반적인 방법이다. 

- 빈 요소(Empty Element) : 내용을 가질 수 없는 요소 ex) <br>, <input>, <link> 등

 

속성(Attribute) 

- 태그가 가질 수 있는 정보

- 태그 내부에 속성을 부여하고, 값을 넣을 수 있다.

- 속성 작성 시, 시작 태그에 작성해야 한다.

- HTML에는 태그마다 지정할 수 있는 속성이 미리 정의되어 있다.

*전역 속성

  - id : 요소를 가리키는 이름을 작성 / 중복된 이름(id) 사용 불가능   <div id header> / <div id footer> / <div id main>

  - class : 요소를 가리키는 이름을 작성 / 중복된 이름 사용가능

  - style : 요소에 스타일을 지정할 수 있다.

 

<!DOCTYPE html>
<html lang="ko">
    <head>
        <meta charset="utf-8" />
        <title>HTML 첫 시간 - 문서 제목</title>
        <link rel="stylesheet" href="linkToCSS" />
    </head>
    <body>
      본문 내용 입니다.  
    </body>
</html>

 

<!DOCTYPE html>
! 의미 : 선언하다. 브라우저에게 이 문서는 HTML 문서라고 선언.
 
<html> </html>
 브라우저에게 HTML 문서의 시작과 끝을 알려준다.
<html lang="ko"> 언어 명시

<head> </head>
헤드 영역은 해당 페이지에 대한 정보를 서술하는 공간
웹 페이지에 단 하나만 존재. 브라우저 실행 화면에는 보이지 않는다.
설정 정보를 작성하는 영역
ex) title, meta, link, style, script

<title> </title> 
탭에 보이는 웹 페이지의 제목 표시

<meta>
해당 문서에 대한 정보를 기술한다.
<meta charset="utf-8" /> 언어 설정   (문자셋)
*문자셋 종류
ASCII(American Standard Code...) 미국 정보 교환 표준 부호
- ASCII로는 영어 외의 문자 표현이 어려움 -> EUC 

- EUC는 중복되는 영역 발생 - 하나의 시스템에서 여러 문자셋을 사용할 수 없음(한국 : ECU-kr / 일본 : JP / 중국 :CN).

  -> Unicode : 모든 문자를 표현할 수 있다. 하나의 문자셋 안에 전 세계 모든 문자를 넣어서 사용한다. (UTF-8)

<body> </body>
브라우저 실행 화면에 보인다. (뷰 포트에 렌더링 된다.)
사용자의 눈에 보이는 구조를 작성하는 범위(영역)
 

[html tag]

1. 텍스트와 관련된 태그들

 - 제목을 표시하는 <h*>
   h* 태그는 모든 페이지에 하나만 작성해야 한다. (웹 표준)
 
 - 굵은 글씨
   <b> : 단순한 굵은 글씨
  <strong> : 실제 페이지에서 더 중요한 내용을 표기할 때 사용하며, 시각 장애를 가지신 분들을 위한 HTML을 만들 때 사용
  -> 웹 표준을 준수하고 싶으면 strong 태그를 사용하는 것이 좋다.
 
- 이탤릭 체
  <em> : 문장의 흐름에서 특정 부분을 강조하고 싶을 때
  <i>
 
- 문단을 나타내는 <p>
 
- 밑 줄 <u> / 취소선 <s>
 
- 큰 글자 <big> / 작은글자 <small>
 
- 강제 공백  &nbsp;
 
- 주석 <!-- 주석 내용 작성 -->
  
- 개행 (줄 바꿈)
  문장의 끝에 <br>  : </br> 없이 혼자 사용, 웹 표준을 준수하려면 사용하지 않아야 한다.
 

2. 미디어 관련 태그들

- 비디오
  <video src="비디오 경로" controls></vidoe>
  controls - 비디오 플레이 활성화
 
- 이미지
  <img src="이미지 경로" alt"이미지 이름">
  alt - 평소에는 보이지 않지만 이미지 경로가 잘 못 되어 이미지를 표시 할 수 없을 때 나타난다. 표준을 준수하려면 사용해야 한다.
 

3. 링크 관련 태그

하이퍼 링크 : 클릭하면 해당 페이지로 이동한다.
<a href="링크"></a>  :  현재 페이지에서 열기
<a href="링크" taget="blank"></a>  :  새 창에서 열기
 

4. 테이블 태그

 <table> </table>

* table 요소 :  <table>  </table> 태그의 사이에 들어가는 내용들 + <table>  </table> 태그 포함

   - 행과 열로 구성된 표를 만들 때 사용하는 요소.

   - <thead> </thead> : 표 상단을 담당.

   - <th> </th> : 표 상단 thead의 칸을 나타낸다.

   - <tbody> </tbody> : 표의 본문

   - <tr> </tr> : table row / 행, 한 줄

   - <td> </td> : table data / 열(column), 한 칸의 cell data를 표현한다.

 

* 행(줄) 병합과 열(칸) 병합

   - 행 병합 <td rowspan="합칠 줄의 수">  </td> : 셀을 세로로 합친다. / 데이터를 가로 방향으로 읽는다.

   - 열 병합 <td colspan="합칠 칸의 수">  </td> : 셀을 가로로 합친다. /  데이터를 세로 방향으로 읽는다.

 

5. 목록 태그

- <ol> : 순서가 있는 목록
- <ul> : 순서가 없는 목록
- <li> : ol/ul과 같이 사용해야 한다.
 

6. <input> : 빈 태그이기 때문에 닫는 태그 없이 단독으로 사용함.

사용자에게 어떤 정보를 입력 받을 때 사용한다. 

[input 태그의 속성들]

- type 속성 : 사용자가 데이터를 입력하는 요소 / 입력 받을 데이터 타입을 정할 수 있다.

   *input type 종류

     - HTML5에서는 용도에 맞게 입력할 수 있는 다양한 텍스트 필드를 제공한다.

     - text, checkbox,radio, password, email, number, date, time ..... 

 

- name 속성 : 해당 input의 이름을 명시한다.

   form 데이터를 서버로 전송하면, 서버에서 받을 때  name 데이터로 받는다. 실제 값은 value 값이 들어있다.

   (name라는 속성에 사용자가 입력한 ID 값을 저장한다. -> 서버에 ID 값이 저장 된 name 속성을 전달 한다.)

- value 속성 : 해당 input의 초기값을 명시한다.

 

- 기타 속성들

    * 힌트를 표시하는 placeholder 속성

       - 사용자가 입력 할 안내문 역할

       - 사용자의 입력 실수를 최소화 한다.

    * 비활성화 disabled

       - 입력 요소를 비활성화 할 수 있다.

    * 읽기 전용 readonly

       - 사용자가 입력은 할 수 없지만, 읽는 것만 가능한 읽기 전용 필드

    * 최대 길이 maxlength, 최소 길이 minlength : 위반시, 서버로 전송 거부

 

[<input>태그와 연결할 수 있는 <label> </label> 태그]

  - input 태그와 관계(연결)를 맺을 수 있다.

  - input 태그가 무엇을 말하는지 제목을 명시할 수 있다.

  - label 태그 없어도 input 태그 사용 가능한데 왜 사용하나?

     사용자가 클릭할 수 있는 범위를 확장해준다.   (사용자 측면에서 label을 사용하는 것이 편리함.)

  <사용방법>

    - input 태그를 label 태그로 감싼다.

    - input id 속성의 값과 label for 속성의 값에 동일한 값을 작성한다.

 

7. <textarea cols="" rows=""> 태그

- 장문의 텍스트 데이터를 받을 때 사용

- 너비를 지정하는 cols 속성과 몇 줄을 표시할지 정하는 rows 속성을 사용

- cols="20" -> 20글자만큼의 너비를 입력할 수 있다는 뜻이 아님! 한글로 약 10자 정도...

 

8. <select> 태그

- 사용자가 여러 데이터 중 1개를 선택할 수 있다.

- radio와 차이는 드롭 다운 기능을 제공한다는 점.

- option 태그와 함께 사용.

- select 태그는 value 속성을 가질 수 없지만(name 속성은 가질 수 있음), option 태그는 value 속성을 가질 수 있음.

select의 그룹화 , optgroup

-label 속성으로 하위 option들의 이름을 작성할 수 있다.

 

 

 

 

 

   
 

브라우저에서 실행 확인하기(뷰 포트에 렌더링) : 오른 쪽 마우스 - open with live server

뷰 포트에 렌더링 된 모습

 

 

 

728x90