다른 답변에는 표현이 잘못되었거나 약간 부정확한 몇 가지 사항이 있습니다.
거짓(같은):비표준 HTML 요소는 "허용되지 않음", "불법" 또는 "유효하지 않음"입니다.
반드시 그런 것은 아닙니다.그들은 "부적합".차이점이 뭐야? 어떤 것은 "부적합"할 수 있고 여전히 "허용"될 수 있습니다. W3C는 HTML 경찰을 귀하의 집으로 보내 귀하를 끌고 가지 않을 것입니다.
W3C가 이런 식으로 방치한 데에는 이유가 있습니다.적합성과 사양은 커뮤니티에서 정의됩니다.보다 구체적인 목적을 위해 HTML을 사용하는 소규모 커뮤니티가 있고 작업을 더 쉽게 만드는 데 필요한 몇 가지 새로운 요소에 모두 동의하는 경우 W3C에서 말하는 것을 가질 수 있습니다. "기타 적용 가능한 사양".(이것은 분명히 지나치게 단순화한 것이지만 아이디어를 얻을 수 있습니다)
즉, 엄격한 유효성 검사기는 비표준 요소를 "유효하지 않음"으로 선언합니다.하지만 이는 유효성 검사기의 임무가 유효성을 검사하는 사양에 대한 적합성을 보장하는 것이지 해당 사양에 대한 "합법성"을 보장하는 것이 아니기 때문입니다. 브라우저 또는 사용.
거짓(같은):비표준 HTML 요소 ~ 할 것이다 렌더링 문제가 발생함
그럴 수도 있지만 그럴 것 같지는 않습니다.('will'을 'might'로 교체) 이로 인해 렌더링 문제가 발생하는 유일한 방법은 맞춤 요소가 HTML 사양 변경이나 동일한 시스템 내에서 적용되는 다른 사양(예: SVG, 수학 또는 사용자 정의 항목).
사실은, CSS가 비표준 태그의 스타일을 지정할 수 있는 이유 HTML 사양 때문입니다. 분명히 말한다 저것:
사용자 에이전트는 의미상 중립적으로 이해하지 못하는 요소와 속성을 처리해야 합니다.DOM(DOM 프로세서의 경우)에 남겨두고 CSS(CSS 프로세서의 경우)에 따라 스타일을 지정하지만 의미를 추론하지는 않습니다.
메모: 사용자 정의 태그를 사용하려면 나중에 HTML 사양을 변경하면 스타일이 망가질 수 있으므로 미리 준비하세요.W3C가 이를 구현할 가능성은 거의 없습니다. <imsocool>
그러나 태그.
비표준 태그 및 JavaScript(DOM을 통해)
JavaScript를 사용하여 맞춤 요소에 액세스하고 변경할 수 있는 이유는 사양은 DOM에서 어떻게 처리되어야 하는지에 대해서도 설명합니다., 페이지의 요소를 조작할 수 있는 (정말 끔찍한) API입니다.
HTMLUnknownElement 인터페이스는 이 사양(또는 기타 적용 가능한 사양)에서 정의되지 않은 HTML 요소에 사용해야 합니다.
요약:사양 준수는 통신 및 안전을 위해 수행됩니다.부적합은 여전히 모든 것에서 허용됩니다. 검증인, 유일한 목적은 적합성을 강화하는 것이지만 사용은 선택 사항입니다.
예를 들어:
var wee = document.createElement('wee');
console.log(wee.toString()); //[object HTMLUnknownElement]
(이게 불길을 일으킬 것이라고 확신하지만 2 센트가 있습니다)