DOCTYPE 선언 전에 주석이 나타날 수 있습니까?
<!-- this -->
내 HTML 코드 맨 위에 DOCTYPE 선언 앞에 주석 ( 스타일) 을 배치하고 싶습니다 . 이것이 표준을 준수합니까? 주요 브라우저에서 지원합니까? 이 작업에 함정이 있습니까?
<!DOCTYPE>
첫 번째를 작성하는 것이 확실히 가장 좋은 방법입니다.
나는 아주 오래 전에 어떤 브라우저 (아마 IE6)가 a를 무시했던 이상한 문제를 기억합니다. <!DOCTYPE>
이전에는 무해 해 보이는 무언가 가 있었기 때문입니다. 그냥 공백이라고 생각하지만 아마 주석이었을 것입니다. 어쨌든 추적해야하는 것은 끔찍하고 끔찍한 버그였으며 .NET Framework 앞에 주석이나 공백을 추가 할 이유는 없습니다 <!DOCTYPE>
.
<!DOCTYPE>
첫 번째 글은 경험 많은 웹 개발자가 끔찍하고 파악하기 어려운 버그를 피하기 위해하는 일입니다.
수행하는 것이 완전히 유효 합니다.
<!-- this, -->
<!DOCTYPE html>
그러나 이 제공 하는 모든 에 IE 버전의 단점 모드를 (이되지 않는 한 강제 노 쿼크 모드로 - 투시 둘점 아래 부분). 가장 간단한 방법은 주석을 DOCTYPE 아래로 이동하는 것입니다.
<!DOCTYPE html>
<!-- this, -->
그러나 또 다른 방법은 주석을 다음과 같은 적절한 조건부 주석 으로 "업그레이드" 하는 것입니다.
<!--[if !IE]> this <![endif]-->
<!DOCTYPE html>
설명 : 조건 코멘트가 없습니다 계산 IE의 세계에서, 주석으로.
대체 구문 : 조건부 주석이 HTML 표준에 대한 Microsoft의 침입이라는 것을 잊거나 기억하려면 예를 들어 다음과 같이 할 수 있습니다.
<!--[if anybrowser]> this <![endif]-->
<!DOCTYPE html>
마찬가지로 특히 IE를 타겟팅하려면 다음을 수행 할 수 있습니다.
<!--[if !anybrowser]> this <![endif]-->
<!DOCTYPE html>
Gotchas
조건부 주석 안에 있는 주석은 IE가 그것을 본다면 (즉 , [if IE] 조건을 사용하는 경우 또는 [if! anybrowser] 조건 과 같은 [if IE]와 동등한 조건을 사용하는 경우) IE를 쿼크 모드로 전환 합니다. 위에서 언급했습니다.). 예를 들어, 이것은 IE를 쿼크 모드로 만들 것입니다.
<![if IE]><!-- this --><![endif]>
<!DOCTYPE html>
그랬듯이
<!--[if IE]><!--><!-- this <![endif]-->
<!DOCTYPE html>
및 기타 많은 변형. 예를 들어
<!--[if IE]><!DOCTYPE html><!--><!-- this <![endif]-->
<!DOCTYPE html>
할 수 없습니다 때문에, 단점 모드의 원인이 여기에 조건부 주석이 DOCTYPE이 전에 다른 컨텐츠를, 따라서 IE는 페이지의 첫 번째 내용이 DOCTYPE이라고 생각한다.
마지막으로, 최신 IE 버전 인 IE8 및 IE9 는 다른 Microsoft 발명품 인 x-ua 호환 지침을 사용하여 표준 모드 (및 쿼크 모드) 로 강제 적용 할 수 있습니다 . http://msdn.microsoft.com/en-us/library/cc288325(v=vs.85).aspx를 참조 하십시오 .이 경우
<!-- this -->
<!DOCTYPE html>
<!--[if IE]><meta http-equiv="X-UA-Compatible" content="IE=8" ><![endif]-->
것입니다 강제 로 IE8 및 IE9을 노 쿼크 IE6와 IE7이에 남아있는 동안, 모드 쿼크 모드. 반면에 이것은
<!--[if gte IE 8]><meta http-equiv="X-UA-Compatible" content="IE=8" ><![endif]-->
<!DOCTYPE html>
것입니다 강제로 표준 모드로 IE8 및 IE9을 에도 불구하고 조건부 주석의 내용 않음을 하지 DOCTYPE로 시작합니다. 그리고 IE6와 IE7은 조건부 주석이 그들을 대상으로하지 않기 때문에 노 쿼크 모드로 유지됩니다.
내가 믿는 표준에 따라 허용되지만 IE를 쿼크 모드로 전환하므로 확실히 피하고 싶을 것입니다.
( 다른 렌더링 모드 트리거 참조 )
이 페이지 에 따르면 IE7은 doctype이 전혀없는 것처럼 쿼크 모드로 렌더링 될 수 있습니다 .
doctype 앞의 주석은 허용되지만 모든 IE 버전이 쿼크 모드로 되돌아갑니다. 그들은 실제로 때때로 그 목적으로 사용됩니다. XML 선언 ( <?xml version ...?>
)은 IE6 이하에서 동일한 효과를 갖습니다 .
참조 URL : https://stackoverflow.com/questions/941100/can-comments-appear-before-the-doctype-declaration
'Programing' 카테고리의 다른 글
SFTP를 통해 파일을 전송할 때 FTP보다 시간이 오래 걸리는 이유는 무엇입니까? (0) | 2020.12.28 |
---|---|
열 이름이 주어지면 R의 열 번호를 가져옵니다. (0) | 2020.12.28 |
Java의 웹 페이지에서 이미지를 다운로드하는 방법 (0) | 2020.12.28 |
fork () 및 출력 (0) | 2020.12.28 |
크롬 렌더링 문제. (0) | 2020.12.28 |