HTML
클래스 및 ID
수색…
소개
클래스 및 ID를 사용하면 스크립트 및 스타일 시트의 HTML 요소를보다 쉽게 참조 할 수 있습니다. class 속성은 하나 이상의 태그에서 사용할 수 있으며 CSS에서 스타일을 지정하는 데 사용됩니다. ID는 단일 요소를 나타 내기위한 것으로 동일한 ID를 절대로 두 번 사용해서는 안됩니다. ID는 일반적으로 JavaScript 및 내부 문서 링크와 함께 사용되며 CSS에서는 사용하지 않는 것이 좋습니다. 이 주제에는 HTML에서 클래스 및 ID 속성의 올바른 사용에 관한 유용한 설명과 예가 들어 있습니다.
통사론
- class = "class1 class2 class3"
- id = "uniqueid"
매개 변수
매개 변수 | 세부 |
---|---|
수업 | 요소의 클래스 (고유하지 않음)를 나타냅니다. |
신분증 | 요소의 ID를 나타냅니다 (같은 문맥 내에서 일의이다). |
비고
-
class
와id
는 둘 다 전역 속성이므로 모든 HTML 요소에 할당 될 수 있습니다. - 클래스 이름은 문자 (AZ 또는 az)로 시작해야하며 그 뒤에 문자, 숫자, 하이픈 및 밑줄이 올 수 있습니다.
-
HTML5
에서 class 및 id 속성은 모든 요소에서 사용할 수 있습니다. HTML 4.0.1에서는<base>
,<head>
,<html>
,<meta>
,<param>
,<script>
,<style>
및<title>
태그를 벗어났습니다. - 요소는 하나 이상의 클래스를 가질 수 있습니다. 클래스는 공백으로 구분되며 공백을 포함 할 수 없습니다.
- 요소는 하나의 ID 만 가질 수 있으며 요소 (즉, 웹 페이지) 내에서 고유해야합니다. ID에도 공백을 포함 할 수 없습니다.
요소에 클래스 제공
클래스는 할당 된 요소의 식별자입니다. 클래스에 요소를 할당하려면 class
특성을 사용하십시오.
<div class="example-class"></div>
요소에 여러 클래스를 지정하려면 클래스 이름을 공백으로 구분하십시오.
<div class="class1 class2"></div>
CSS에서 클래스 사용하기
클래스는 특정 엘레멘트의 모든 요소를 변경하지 않고도 그 엘레멘트의 스타일을 지정할 수있다. 예를 들어,이 두 span
요소는 완전히 다른 스타일을 가질 수 있습니다.
<span></span>
<span class="special"></span>
동일한 이름의 클래스는 페이지의 요소 수에 지정할 수 있으며 모든 클래스는 해당 클래스와 연관된 스타일을받습니다. CSS 내에서 요소를 지정하지 않으면 항상 유효합니다.
예를 들어 두 가지 요소가 있는데 둘 다 클래스 highlight
.
<div class="highlight">Lorem ipsum</div>
<span class="highlight">Lorem ipsum</span>
CSS가 아래와 같으면 두 요소의 텍스트에 녹색이 적용됩니다.
.highlight { color: green; }
그러나 클래스 highlight
가있는 div
만 타겟팅하려는 경우 아래와 같이 특수성을 추가 할 수 있습니다.
div.highlight { color: green; }
그럼에도 불구하고 CSS로 스타일을 .highlight
때 일반적으로 클래스가있는 요소 (예 : div.highlight
)보다는 클래스 (예 : .highlight
) 만 사용하는 것이 좋습니다.
다른 선택기와 마찬가지로 클래스도 중첩 될 수 있습니다.
.main .highlight { color: red; } /* Descendant combinator */
.footer > .highlight { color: blue; } /* Child combinator */
클래스 선택기를 연결하여 여러 클래스가 조합 된 요소 만 선택할 수도 있습니다. 예를 들어 이것이 우리의 HTML 인 경우 :
<div class="special left menu">This text will be pink</div>
그리고이 특정 텍스트 분홍색을 채색하고 싶습니다. CSS에서 다음을 할 수 있습니다.
.special.left.menu { color: pink; }
요소에 ID 부여
요소의 ID 속성은 전체 문서에서 고유해야하는 식별자입니다. 그 목적은 앵커 (anchor) 사용, 스크립팅 또는 스타일 지정 (CSS 사용)을 연결할 때 요소를 고유하게 식별하는 것입니다.
<div id="example-id"></div>
두 개의 다른 종류의 요소에 속성이 첨부되어 있어도 같은 문서에 동일한 ID를 가진 두 개의 요소가 없어야합니다. 예를 들어 다음 코드는 올바르지 않습니다.
<div id="example-id"></div>
<span id="example-id"></span>
브라우저는이 코드를 렌더링하기 위해 최선을 다하지만 CSS로 스타일을 지정하거나 JavaScript로 기능을 추가 할 때 예기치 않은 동작이 발생할 수 있습니다.
CSS에서 ID로 요소를 참조하려면 ID 앞에 #
붙입니다.
#example-id { color: green; }
특정 페이지에서 ID가있는 요소로 이동하려면 URL에 요소 이름과 함께 #
을 추가하십시오.
http://example.com/about#example-id
이 기능은 대부분의 브라우저에서 지원되며 추가 JavaScript 또는 CSS가 필요하지 않습니다.
중복 된 ID와 관련된 문제
동일한 ID를 가진 요소가 두 개 이상 있으면 문제를 해결하는 것이 어렵습니다. HTML 구문 분석기는 대개 어떤 경우에도 페이지 렌더링을 시도합니다. 일반적으로 오류가 발생하지 않습니다. 그러나 페이스는 잘못 행동하는 웹 페이지로 끝날 수 있습니다.
이 예에서 :
<div id="aDiv">a</div>
<div id="aDiv">b</div>
CSS 선택기가 여전히 작동 함
#aDiv {
color: red;
}
그러나 JavaScript는 두 가지 요소를 모두 처리하지 못합니다.
var html = document.getElementById("aDiv").innerHTML;
이 경우 html
변수는 첫 번째 div
콘텐츠 ("a")
합니다.
허용되는 값
신분증
id
의 값에 대한 유일한 제한은 다음과 같습니다.
- 문서에서 고유해야합니다.
- 공백이 없어야합니다.
- 적어도 하나의 문자를 포함해야합니다.
따라서 값은 모든 자릿수, 단 하나의 숫자, 문장 부호 문자, 특수 문자를 포함 할 수 있습니다. 그냥 공백이 없습니다.
그래서 이것들은 유효합니다 :
<div id="container"> ... </div>
<div id="999"> ... </div>
<div id="#%LV-||"> ... </div>
<div id="____V"> ... </div>
<div id="⌘⌥"> ... </div>
<div id="♥"> ... </div>
<div id="{}"> ... </div>
<div id="©"> ... </div>
<div id="♤₩¤☆€~¥"> ... </div>
이것은 유효하지 않습니다.
<div id=" "> ... </div>
동일한 문서에 포함 된 경우이 또한 유효하지 않습니다.
<div id="results"> ... </div>
<div id="results"> ... </div>
id
값은 문자로 시작해야하며 그 뒤에는 다음 문자 만 올 수 있습니다.
- 글자 (AZ / az)
- 숫자 (0-9)
- 하이픈 ( "-")
- 밑줄 ( "_")
- 콜론 ( ":")
- 마침표 ( ".")
위의 HTML5 섹션에있는 첫 번째 그룹의 예제를 참조하면 유효합니다.
<div id="container"> ... </div>
또한 유효합니다.
<div id="sampletext"> ... </div>
<div id="sample-text"> ... </div>
<div id="sample_text"> ... </div>
<div id="sample:text"> ... </div>
<div id="sample.text"> ... </div>
다시 문자 (대문자 또는 소문자)로 시작하지 않으면 유효하지 않습니다.
클래스의 경우
클래스에 대한 규칙은 본질적으로 id
와 동일합니다. 차이점은 class
값 이 문서에서 고유 할 필요 는 없다는 것 입니다.
위의 예를 참조하면 동일한 문서에서 유효하지 않지만 다음과 같습니다.
<div id="results"> ... </div>
<div id="results"> ... </div>
이것은 완벽하게 괜찮습니다.
<div class="results"> ... </div>
<div class="results"> ... </div>
중요 정보 : ID 및 클래스 값이 HTML 외부에서 처리되는 방법
위의 규칙과 예는 HTML 컨텍스트 내에서 적용됩니다.
id
나 class
의 값에 숫자, 구두점 또는 특수 문자를 사용하면 CSS, JavaScript 및 정규식과 같은 다른 상황에서 문제가 발생할 수 있습니다.
예를 들어 다음 id
는 HTML5에서 유효하지만
<div id="9lions"> ... </div>
... CSS에서 유효하지 않습니다.
CSS에서 식별자 (선택자의 요소 이름, 클래스 및 ID 포함)에는 문자 [a-zA-Z0-9] 및 ISO 10646 문자 U + 00A0 이상, 하이픈 (-) 및 밑줄 _); 두 자리 하이픈 또는 한 자리 뒤에 하이픈으로 시작할 수 없습니다 . (강조가 추가됨)
대부분의 경우 제한이나 특별한 의미가있는 상황에서 문자를 이스케이프 할 수 있습니다.