일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 자바스크립트
- 코딩초보
- 타입스크립트
- TypeScript
- useEffect
- react-router
- 코딩독학
- 사용하는 이유
- Vue3
- 리덕스
- scss
- React Native
- git
- react
- 코딩공부
- html기초
- CSS
- SasS
- redux
- http
- 코린이
- 깃
- 리액트 네이티브
- 코딩기초
- 비동기
- JavaScript
- async
- 참조자료형
- 프론트엔드
- 리액트
- Today
- Total
맨 땅에 프론트엔드 개발자 되기
코딩독학) HTML 태그 ID와 CLASS 본문
HTML 문서는 보통 HTML 태그로 문서 구조를 짠 뒤에 CSS로 HTML 문서에 디자인 속성을 넣어주고, JAVASCRIPT로 동적 구현을 하는 시스템으로 이루어져 있다. 보통 확장자를 .html .css .js 로 문서를 3개 만들어 css파일과 js파일을 html파일과 연결시켜 주는데, css파일과 js파일에서 html 문서의 어떤 것을 선택해 속성을 지정해주고 싶을 때 id와 class가 필요하게 된다.
말로 설명하려니 어렵네..
바로 예제를 보자.
예제 연습
div로 지정된 4개의 네모가 오른쪽 브라우저에 표시된다. 4개의 div에는 class가 지정되어 있고, 맨 마지막 div에만 id가 지정되어 있다. example.css 문서를 보면 background 컬러가 지정되어 있는데 각기 다른 네모를 지정하고 있기 때문에 오른쪽 화면에 다른 컬러가 표시된다.
맨 처음 * 표시 안에 지정된 컬러는 darkgrey다. * 표시는 all 이란 뜻으로 문서의 모든 아이템을 지정한다는 뜻이다.
.apple 안에 지정된 컬러는 crimson이다. 왼쪽 html 문서에서 class 값으로 apple을 가지고 있는 div는 세 개다. 그 중 맨 마지막 div는 class 값으로 apple을 가지고 있음에도 불구하고 브라우저 상에는 crimson 색이 아닌 yellowgreen 색으로 표시되고 있다.
이유는 class가 id보다 더 상위 개념이며, 하위 개념으로 들어갈 수록 더 세부적으로 선택이 가능하여, 그에 지정된 색상을 보여주도록 브라우저가 설계되어 있다는 뜻이다. 그래서 * 표시로 전체 아이템이 darkgrey로 표시되도록 지정했음에도 불구하고 .apple에는 crimson, #onlyme에는 yellowgreen 색이 표시가 된 것이다.
일단 하위 개념이 더 우선되는 결과가 나타난다는 원리를 알았다. 그럼 여기서 class와 id는 무엇일까?
class는 계급을 나타내고 여러 가지 태그가 같은 class 값을 가질 수 있다. 여러 명이 동시에 귀족 계급도 될 수 있고, 상인 계급도 될 수 있고, 노예 계급이 될 수 있는 것처럼 말이다. 여기서 귀족, 상인, 노예 계급은 여러 개가 동시에 같은 계급을 가질 수 있다는 은유적 예시지만, html 속성 중 class 값이 그 자체로 hierarchy를 가진다는 듯은 아니다.
id는 고유한 값으로 한 id 당 한 개체만 그 값을 가질 수 있다. 그래서 단일한 한 아이템만 선택하고 싶을 때 사용한다. 물론, id의 개념이 더 세부적이기 때문에 여기에 적용된 색상이나 등등의 값이 우선 적용된다.
'코딩 공부 일지 > HTML5' 카테고리의 다른 글
간단하게 파일 다운로드 기능 HTML로 구현하기 (0) | 2022.05.17 |
---|---|
HTML 시맨틱 태그를 사용하는 이유 (0) | 2022.02.14 |
코딩독학) HTML 태그의 종류와 역할3 Form & Input (0) | 2021.09.19 |
코딩독학) HTML 태그의 종류와 역할2 영역 태그 (0) | 2021.09.19 |
코딩독학) HTML 태그의 종류와 역할 (0) | 2021.09.17 |