여기 쓰여진 글들은 제가 개인적으로 받아들인 방식으로 적어 본 것입니다.

예를 들어 말하기에 정확하게 맞지 않을 수도 있습니다.


HTML태그의 CLASS와 ID

HTML 문서는 '계층구조'로 되어있다.

'계층 구조'는 현실 세계에서 '계급 구조'형식이 비슷하고,

아마 대한민국 남성들에게 가장 익숙한 '계급 구조'를 갖고있는 '군대' 로써 class와 id를 설명해 보려고 한다.

 

<대한민국국군>
    <육군>
        <본부>
            <사령부 class="육군 사령부" id="지상작전사령부">
                <군단 class="육군" id="수도군단">
                    <사단 class="육군 보병" id="○○○○부대"/>
                    <사단 class="육군 보병" id="○○○○부대"/>
                    <사단 class="육군 보병" id="○○○○부대"/>
                    <여단 class="육군 포병" id="○○○○부대"/>
                    <여단 class="육군 공병" id="○○○○부대"/>
                    <여단 class="육군 군수" id="○○○○부대"/>
                    <여단 class="육군 기갑" id="○○○○부대"/>
                    <여단 class="육군 기갑" id="○○○○부대"/>
                </군단>
                <군단 class="육군" id="1군단"/>
                <군단 class="육군" id="2군단"/>
            </사령부>
            <사령부 class="육군" id="수도방위사령부">
            <사령부 class="육군" id="육군교육사령부">
            <사관학교 class="육군" id="육군사관학교">
            .
            .
            .
            
        </육군본부>
    </육군>
    <해군/>
    <공군/>
    <해병대/>
</대한민국국군>

HTML 구조와 비슷하게 국군 편제(일부, 나무위키 참조)를 작성해 보았다.

 

  • class에는 각각의 기관들을 특성에 따라 묶어줄 때 사용한다. 
    같은 특성을 지닌 기관이 1개 이상일 수도 있기에 중복이 가능하며,
    각각의 기관이 지닌 특성을 1개 이상 설정할 수도 있다.
  • id는 딱 하나의 기관을 나타낼 때 사용한다. 따라서 중복 값을 가지면 안된다.

HTML태그의 Name

Name은 class와 id, 그러니까 위의 계층구조와는 전혀 상관없이,

 

html으로 받아든 시험지의 문제 번호라고 생각하면 된다.

<form>
    <fieldset>
        <legend>1번문제 : 주관식</legend>
        <label for="1번문제의답">1번 : </label>
        <input type="text" name="1번문제" id="1번문제의답">
    </fieldset>
    <fieldset>
        <legend>2번문제 : 객관식</legend>
        <input type="radio" name="2번문제" id="2번문제의1번"><label for="2번문제의1번">1.A</label><br>
        <input type="radio" name="2번문제" id="2번문제의2번"><label for="2번문제의2번">2.B</label><br>
        <input type="radio" name="2번문제" id="2번문제의3번"><label for="2번문제의3번">3.C</label><br>
        <input type="radio" name="2번문제" id="2번문제의4번"><label for="2번문제의4번">4.D</label><br>
    </fieldset>
    <fieldset>
        <legend>3번문제 : 객관식-모두고르시오</legend>
        <input type="checkbox" name="3번문제" id="3번문제의1번"><label for="3번문제의1번">1.가</label><br>
        <input type="checkbox" name="3번문제" id="3번문제의2번"><label for="3번문제의2번">2.나</label><br>
        <input type="checkbox" name="3번문제" id="3번문제의3번"><label for="3번문제의3번">3.다</label><br>
        <input type="checkbox" name="3번문제" id="3번문제의4번"><label for="3번문제의4번">4.라</label><br>
    </fieldset>
</form>

form을 submit 하면 method 방식에 따라 값을 전달하는 방식이 다르지만,

주소줄로 값을 전송하는 get방식으로 값을 확인해 보면 -->

 

                  html?1번문제=답안지& 2번문제=1   &  3번문제=1   &   3번문제=2
전달할 파일주소?name=value    &name=value & name=value & name=value

input 태그안에 작성한 name을 '달고' 설정한 값이 넘어가는걸 볼 수 있다. id와는 관계없이

 


결론 :

  • Class는 태그를 특성에 따라 분류해 붙인 것
  • ID는 태그에 고유한 이름을 붙인 것
  • Name은 시험지의 문제 번호 같은 것
    -class와 ID와는 전혀 상관이 없다

<head>

  • html 문서의 최 상단에 위치
  • 현재 문서의 정보와 문서 자체에 대한 설명이 들어있음
  • 현재 문서의 동작을 위해 필요한 "Javascript", 표현 방식을 정리한 "CSS"가 위치되도록 '권장'

<meta>

  • 현재 문서의 메타데이터를 표현하는 태그
    • 메타데이터 - 데이터에 대한 정보

데이터와 메타데이터의 관계
  • 하나의 태그에 하나의 정보만 기입
<meta name="author" content="나"/> => O
<meta author="나" description="아무 문서" .../> => X
  • 반드시 <body>태그보다 위에 위치 해야함
  •  속성
    • charset
      • 현재 HTML 문서의 문자 인코딩 방식
      • 여러 인코딩 방식중 보통 "UTF-8"을 쓴다
    • name
      • 표시하려는 meta-data의 이름을 적는 속성
      • 옆에 content 라는 속성을 추가해 meta-data의 정보를 적는다
      • author(저자), description(설명), keywords(검색어), robot(검색 로봇의 제한설정)등을 적을 수 있다.
    • http-equiv
      • 문서의 초기 정보를 나타냄
        • content-type : 문서의 타입을 지정한다. charset을 추가해 인코딩 방식을 추가해줄수도 있다.
        • refresh : 문서가 갱신되는 시간간격(초단위)를 지정한다 url을 추가해 리다이렉트 될 페이지 지정이 가능하다.
<meta http-equiv="content-type" content="text/html;charset=UTF-8"/>
<meta http-equiv="refresh" content="5;url=http://이동할주소"/>

<title></title>

<title>페이지 이름</title>
  • 페이지의 이름을 나타내는 태그

<link>

<link href="파일 위치" rel="관계" type="MIME타입"/>
  • 현재 문서를 외부의 문서와 연결하기 위해 사용
  • CSS파일이나 Javascript파일 등
  • 속성
    • href - 연결한 파일의 경로 지정
    • rel - 링크가 형성하는 관계 지정
    • type - MIME 타입 지정
      • MIME - 웹을 통해 파일을 전달하기위해 개발된 방식
      • MIME 타입 - 현재 MIME로 전송되는 파일이 어떤 형식의 어떤 파일인지 나타냄
        •  text/CSS - css 내용이 담긴 text파일
        • text/Javascript - 자바스크립트 내용이 담긴 text파일
        • image/jpeg - jpeg로 압축된 이미지 파일
        • image/gif - gif 이미지 파일 등

<style>

<style>
	CSS 구문
</style>
  • 현재 문서의 스타일을 지정해주는 태그로 CSS속성을 HTML 내에 직접 쓸 때 사용

'TIL > HTML&CSS' 카테고리의 다른 글

CSS기초  (0) 2023.08.12
HTML 기초  (0) 2023.08.10

HTML

  • Hyper Text Markup Language.
  • 웹에서 정보를 표현할 목적으로 만든 마크업 언어
    • 마크업 언어 - 글에 '태그' 나 '기호' 따위를 남겨 '강조'나 '구조'를 파악 할 수 있게 만든 언어

HTML5

  • 2014년 10월 28일 표준화 된 HTML의 최신버전
  • (4에 비해) 그래픽 및 멀티미디어 기능 강화, 모바일 웹 지원 등 기능의 강화가 이루어짐

HTML 문서의 기본구조

<!DOCTYPE html>
<html>
    <head>
    	<meta>, <title>같은 이 문서의 정보나 설명이 들어감
    </head>
    <body>
		화면에 보이는 모든 정보/내용
    </body>
</html>

태그

  • 문서안에 < >로 남겨진 '표식'
    • < >안의 내용으로 본문 내용의 구조를 파악하거나, 본문 내용의 강조하는 방식을 표현함.
    • 그렇기에 'Markup Language'가 되었음

태그의 구성 요소 예시

<p id="title"> HTML/CSS </p>
  • <p> = 시작태그, </p> = 종료태그. 몇가지 종류를 제외한 일반적인 태그는 시작태그와 종료태그가 반드시 쌍으로 존재한다
  • id = 속성 (Attribute), 시작태그에만 사용, 적혀진 태그의 정보를 추가하거나, 태그의 정보를 구체화 하는 용도로 사용
  • "title" = 변수/속성값 (Argument), 속성의 뒤에 '=' 를 붙인 뒤 ' ' 나, " " 를 사용하여 속성의 값을 입력함
  • 태그(시작태그, 종료태그)와 속성, 속성 값 각각을 요소(Element)라고 부름
  • 대,소문자를 구분하지는 않으나, 소문자가 권장됨

'TIL > HTML&CSS' 카테고리의 다른 글

CSS기초  (0) 2023.08.12
<Head>  (0) 2023.08.10

+ Recent posts