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

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


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와는 전혀 상관이 없다

CSS란?

 

웹페이지를 구성하는 3가지 요소

  • 구조와 내용을 담당하는 HTML
  • 디자인을 담당하는 CSS
  • 페이지의 동작을 담당하는 JavaScript

중에서 디자인을 담당하는 요소.

 

  • style - 정해진 속성을 입력해서 웹 페이지를 꾸미는 것
  • stylesheet - style을 모아서 정리해 둔 것 

 

입력방식

 

1. 인라인 방식

<p style="스타일 내용"></p>

태그에 style 속성을 주어 태그에 명시하여 적용하는 방식

 

2. 내부 스타일시트 적용방식

<style>
	스타일 적용 내용
</style>

HTML 문서 내에 <style></style> 태그로 적용하는 방식

 

3. 외부 스타일시트 적용방식

<link href="CSS파일 위치" rel="stylesheet" type="text/css"/>

HTML문서 외부에 따로 CSS 파일을 준비, 불러와서 적용하는 방식

 

스타일 구조

 

  • 선택자 { style속성 : 속성값 ; }

선택자

  • 전체 선택자 : *
  • 태그 선택자 : HTML 태그이름
  • 아이디 선택자 : #"HTML 태그에 부여한 ID"
  • 클래스 선택자 : ."HTML 태그에 부여한 Class"
  • 기본속성 선택자 : [ 속성이름 ]
    • 속성값 중 특정 속성값을 가진 태그 선택하기
      • [속성 = "속성값"] 속성 값이 입력한 값과 같은 속성을 가진 태그들을 검색하여 선택
      • [속성 ^= "속성값"] 속성 값이 입력한 값으로 시작하는 태그들을 검색하여 선택
      • [속성 $= "속성값"] 속성 값이 입력한 값으로 끝나는 태그들을 검색하여 선택
      • [속성 *= "속성값"] 속성 값이 입력한 값을 포함하는 태그들을 검색하여 선택
      • [속성 ~= "속성값"] 속성 값 전후에 공백(띄어쓰기)을 포함하여 검색하여 선택
        • [속성 ~= "www"] 일경우 속성값이 "www aaa bbb", "aaa www bbb", "aaa bbb www" 모두 선택됨
      • [속성 |= "속성값"] 속성값이 입력해 준 값이거나, 입력해준 값 바로 다음 "-" 이 붙는 태그들을 검색하여 선택
  • 자손선택자 : > 선택자의 자손을 선택
  • 후손선택자 : ' (공백)' 선택자의 후손을 선택
  • 동위선택자 : 동위 관계에서 뒤에 위치한 태그를 선택할 때 사용
    • 선택자A+선택자B : A선택자를 바로 위 형으로 둔 B선택자를 선택
    • 선택자A~선택자B : A선택자를 형으로 둔 모든 B선택자
  • 상태 선택자 : 주로 input 태그의 현재 상태에 따라 선택하는 선택자
    • input태그:checked : checked 상태의 input태그를 선택
    • input태그:focus : focus 상태의 input태그를 선택
    • input태그:enabled : 사용가능한 input태그를 선택
    • input태그:disabled : 사용불가능한 input태그를 선택
  • 일반 구조 선택자 : 특정 위치에 있는 태그 선택 (위치로만 구분)
    • :first-child : 형제 관계 태그 중 첫번째 태그 선택
    • :last-child : 형제 관계 태그 중 마지막 태그 선택
    • :nth-child(n) : 앞에서 n번째 위치한 태그 선택
    • :nth-last-child(n) : 뒤에서 n번째 위치한 태그 선택
  • 형태 구조 선택자 : 특정 위치에 있는 태그 선택 (태그 별로 구분)
    • :first-of-type : 형제 관계 태그 중 첫번째 태그 선택
    • :last-of-type : 형제 관계 태그 중 마지막 태그 선택
    • :nth-of-type(n) : 앞에서 n번째 위치한 태그 선택
    • :nth-last-of-type(n) : 뒤에서 n번째 위치한 태그 선택
  • 문자 선택자 : 태그 내부에 위치한 문자열을 선택하는 선택자
    • 선택자::first-letter : 첫 번째 글자를 선택
    • 선택자::first-line : 첫 번째 줄을 선택
    • 선택자::before : 태그 내부에 위치한 문자열 앞을 선택 ->content 라는 style속성과 속성값으로 문자열 앞에 내용을 추가 할 수 있음
    • 선택자::after : 태그 내부에 위치한 문자열 뒤를 선택 -> content라는 style속성과 속성값으로 문자열 뒤에 내용을 추가 할 수 있음
  • 부정 선택자
    • A선택자:not(B선택자) : A선택자 중 B선택자가 아닌 태그들을 선택

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

<Head>  (0) 2023.08.10
HTML 기초  (0) 2023.08.10

기본적으로 설치 되어있지만, 만약 안나온다면

 Ctrl + , 을 눌러서 설정창을 열고 User > Text Editor > Suggestions > Quick Suggestions 에서

other이 on으로 되어 있는지 확인해보자.

 

사용방법 

입력하려는 코드를 약간 입력하면 자동으로 뜨거나, 안뜬다면 Ctrl + Space를 눌러보자

  • 마우스로 원하는 것을 클릭 혹은
  • 키보드의 방향키로 원하는 것을 선택 후 'Tab' 혹은 'Enter'
    • 개행 해야 하거나, 선택 하고 싶지 않은데 선택되는게 귀찮을 경우엔,
      Setting에서 Accept Suggestion On Enter 항목을 Off로 바꿔주자

태그 입력하기

 

태그를 입력하고 Enter 혹은 Tab

 

단일 태그가 아닌 시작태그와 종료태그가 있는 경우엔 종료태그까지 자동으로 완성 시켜준다.

 

 

1. 태그에 간혹 ':' 로 자주 쓰는 표현이 완성이 되어있으니, 필요한걸 가져다 쓰도록 하자

예시에서 <input type="checkbox" name="|" id="|"> 이 자동 완성된다고 나오는데, 여기서 "|" 는,
 | 에 커서가 온다는 뜻이고,
 | 가 2개 이상일경우, 첫번째 |에 원하는 속성값을 입력해 준 뒤 Tab을 눌러주면 다음 | 위치로 커서가 이동하게 된다는 뜻이다.

 

2. 속성 자동완성 하기

태그 안에서 Ctrl+Space 혹은 원하는 속성명을 조금 입력하면 추천하는 자동완성 목록이 나온다.

 

3. 속성과 속성값을 입력한 채로 자동완성 하기

원하는 속성과 속성값을 정확히 안다면 [속성="속성값"]을 이용해서 한번에 만들 수 있으며(이때 속성 이름은 자동완성이 되지 않는다),
".클래스이름", "#id이름"을 붙여써서 class와 id 속성의 속성값을 쉽게 입력할 수 있다.

4. 계층구조 한번에 입력하기

  • > : 자식 태그 생성
  • + : 같은 계층에 태그 생성
  • ^ : 상위 태그로 이동
  • * : * 앞에 적은 태그를 * 뒤에 적은 숫자만큼 반복
  • {} : 시작 태그와 종료 태그 사이에 내용이 들어가야 할 경우 {} 안에 입력
  • $ : *를 이용해서 반복 할 시 $ 위치에 1부터 반복할 때마다 +1 되어 나타남
  • () : ()안에 입력한 내용을 묶어줄 때 사용

'TIL > VSCode' 카테고리의 다른 글

VSCode 개발환경 구축  (0) 2023.08.10

VSCode 공식 사이트 : https://code.visualstudio.com/

 

Visual Studio Code - Code Editing. Redefined

Visual Studio Code is a code editor redefined and optimized for building and debugging modern web and cloud applications.  Visual Studio Code is free and available on your favorite platform - Linux, macOS, and Windows.

code.visualstudio.com

1. VSCode를 공식사이트를 통해 내려받는다.

 

2. font-family나, 스킨 등, 자신의 취향에 맞게 설정한다.

 

(html 개발시)

1) 원활한 개발을 위해 Live Server 라는 확장 프로그램을 설치해준다.

 - 코드 변경시 자동으로 화면을 refresh해주어, 바로바로 변경점이 보이게 된다.

 

2) 특정 브라우저에서만 열리길 원할 경우 setting - extensions - live server config - settings: custom brower 부분을 수정해준다.

'TIL > VSCode' 카테고리의 다른 글

VSCode에서 HTML자동완성 사용하기  (0) 2023.08.12

<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