머리말
안녕하세요 여러분! 이 기사 시리즈는 Ajie가 w3cn.org 웹사이트를 만드는 과정에 따라 작성되었습니다. Ajie는 이전에 웹 표준을 완전히 준수하는 웹사이트를 제작한 적이 없습니다. 이제는 외국 자료를 참고해서 그 과정에서 제 생각과 경험을 기록해 두는 것이 모든 분들께 도움이 되었으면 좋겠습니다. 좋아요, 시작해 보겠습니다.
첫날
표준에 맞는 사이트를 만들기 시작하면 가장 먼저 해야 할 일은 요구 사항에 맞는 DOCTYPE을 선언하는 것입니다.
이 웹사이트 홈페이지의 원본 코드를 보면 첫 번째 줄이
유명 웹 디자인 소프트웨어 개발자 등 표준을 충족하는 일부 사이트를 엽니다. Macromedia와 개인 디자인 마스터 Zeldman 웹사이트에서도 동일한 코드를 찾을 수 있습니다. 다른 표준 준수 사이트(예: k10k.net)의 코드는 다음과 같습니다.
그럼 이 코드는 무엇을 의미하나요? 꼭 배치해야 하나요?
DOCTYPE이란
위 코드를 DOCTYPE 문이라고 부릅니다. DOCTYPE은 문서 유형의 약어이며 사용 중인 XHTML 또는 HTML 버전을 나타내는 데 사용됩니다.
DTD(예: 위 예의 xhtml1-transitional.dtd)는 문서 유형 정의라고 하며, 여기에는 문서의 규칙이 포함되어 있습니다. 브라우저는 DTD를 기반으로 페이지의 ID를 해석합니다. 정의하고 표시합니다.
표준을 준수하는 웹 페이지를 구축하려면 DOCTYPE 선언이 필수적이고 중요한 구성 요소입니다. XHTML이 올바른 DOCTYPE을 결정하지 않으면 로고나 CSS도 적용되지 않습니다.
XHTML 1.0은 선택할 수 있는 세 가지 DTD 선언을 제공합니다.
과도기: 요구 사항이 매우 느슨한 DTD로 HTML4.01 마크업을 계속 사용할 수 있습니다(그러나 xhtml 작성을 준수해야 함). 방법). 전체 코드는 다음과 같습니다.
엄격: 엄격한 DTD의 경우
과 같은 프레젠테이션 레이어 식별자 및 속성을 사용할 수 없습니다. 전체 코드는 다음과 같습니다.
프레임세트: 프레임 페이지용으로 특별히 설계된 DTD. 페이지에 프레임이 포함되어 있으면 이 DTD를 사용해야 합니다. 전체 코드는 다음과 같습니다.
어떤 DOCTYPE을 선택합니까
물론 엄격한 DTD가 이상적인 상황이지만 웹을 처음 접하는 대부분의 디자이너에게는 표준에 따르면 Transitional DTD(XHTML 1.0 Transitional)는 현재 이상적인 선택입니다(또한 Transitional DTD를 사용하는 이 사이트 포함). 또한 이 DTD를 사용하면 프리젠테이션 계층 식별자, 요소 및 속성을 사용할 수 있으므로 W3C 코드 확인을 통과하는 것도 더 쉽습니다.
참고: 위에 언급된 "프리젠테이션 레이어의 식별 및 속성"은 조판용 테이블, 배경색 식별 등과 같이 순수하게 성능을 제어하는 데 사용되는 태그를 나타냅니다. XHTML에서 태그는 표현을 달성하기 위한 것이 아니라 구조를 표현하기 위해 사용됩니다. 우리 전환의 목적은 궁극적으로 데이터와 표현을 분리하는 것입니다.
예: 마네킹이 옷을 갈아입습니다. 모델은 데이터와 같고, 옷은 표현의 형태입니다. 모델과 옷이 분리되어 있어 마음대로 옷을 갈아입을 수 있습니다. 원본 HTML4에서는 데이터와 프리젠테이션이 혼합되어 있어 프리젠테이션 형식을 한 번에 바꾸는 것이 매우 어려웠습니다. 하하, 조금 추상적이네요. 이 개념은 지원 과정에서 점차적으로 이해되어야 합니다.
보충
DOCTYPE 선언은 모든 XHTML 문서의 상단, 모든 코드 및 마크업 위에 배치되어야 합니다.
자세한 내용은 W3C 홈페이지를 참고하세요
DOCTYPE이 선언된 후 다음 코드는 다음과 같습니다.
일반적으로 HTML4.0 코드는 입니다. 여기서 "xmlns"는 무엇인가요?
이 "xmlns"는 XHTML 네임스페이스의 약자로 "네임스페이스" 선언이라고 합니다. 네임스페이스의 역할은 무엇인가요? Ajie의 이해는 다음과 같습니다.
xml을 사용하면 자신만의 로고를 정의할 수 있으므로 정의한 로고는 다른 사람이 정의한 로고와 동일할 수 있지만 의미는 다릅니다. 파일을 교환하거나 공유할 때 오류가 쉽게 발생할 수 있습니다. 이 오류를 방지하기 위해 XML은 네임스페이스 선언을 사용합니다. 이를 통해 이를 가리키는 URL을 통해 신원을 식별할 수 있습니다. 예:
Xiao Wang과 Xiao Li는 모두
더 대중적인 설명은 다음과 같습니다. 네임스페이스는 문서에 표시하여 이 문서가 속한 사람을 다른 사람에게 알리는 것입니다. 이 "누구"가 URL로 대체되는 것뿐입니다.
XHTML은 HTML에서 XML로 전환하는 마크업 언어이므로 XML 문서 규칙을 준수해야 하므로 네임스페이스도 정의해야 합니다. 그리고 XHTML1.0은 로고를 사용자 정의할 수 없기 때문에 네임스페이스는 "http://www.w3.org/1999/xhtml"로 동일합니다. 아직 이해하지 못하더라도 상관없습니다. 이 단계에서는 코드를 복사하기만 하면 됩니다.
뒤의 lang="gb2312"는 문서가 중국어 간체로 작성되어야 함을 지정합니다.
세 번째 단계는 다음과 같이 언어 인코딩을 정의하는 것입니다.
브라우저에서 올바르게 해석되고 W3C 코드 확인을 통과하려면 모든 XHTML 문서가 사용하는 인코딩 언어를 선언해야 합니다. 일반적으로 gb2312(중국어 간체)를 사용합니다. 다국어 페이지를 만들 때 필요에 따라 정의할 수 있는 유니코드, ISO-8859-1 등을 사용할 수도 있습니다.
대개는 이 정의로 충분합니다. 그러나 XML 문서는 이러한 방식으로 언어 인코딩을 정의하지 않는다는 점을 추가해야 합니다.
Macromedia.com 홈 페이지의 코드 첫 번째 줄에서 비슷한 내용을 볼 수 있습니다. 이는 W3C에서 권장하는 정의 방법이기도 합니다. 그렇다면 이 접근 방식을 채택하면 어떨까요? 그 이유는 일부 브라우저가 표준을 불완전하게 지원하고 IE6/windows와 같은 정의 방법을 올바르게 이해할 수 없기 때문입니다. 따라서 현재 전환 계획에서는 여전히 메타 방식을 사용하는 것이 좋습니다. 물론 두 가지 방법 모두 쓸 수 있습니다.
이 웹사이트의 소스 코드를 보면 언어 인코딩이 정의된 문장이 하나 더 있다는 것을 알 수 있습니다:
다양한 브라우저에서 페이지를 올바르게 해석할 수 있도록 하기 위해 이전 브라우저용으로 작성되었습니다.
참고: 위 선언문 끝에 슬래시 "/"가 표시되는데, 이는 이전 HTML4.0 코드 작성과 다릅니다. 그 이유는 XHTML 구문 규칙에 따라 모든 태그에 시작과 끝이 있어야 하기 때문입니다. 예를 들어,
및
등입니다. 페어링되지 않은 식별자의 경우 식별자 끝에 공백을 추가하고 "/ ". 예를 들어 웹 표준을 사용하여 웹사이트를 디자인합니다. 전환 방법은 주로 XHTML+CSS를 사용하는 것입니다. 이를 위해서는 모든 웹 디자이너가 CSS에 능숙해야 합니다. 이전에 CSS를 사용해 본 적이 없다면 지금 배우기 시작하세요. 웹 표준을 준수하는 웹사이트를 만들려면 CSS를 모르면 아름다운 페이지를 디자인할 수 없습니다.
실제로 성능의 모든 측면을 CSS로 구현해야 합니다. 예전에는 위치 지정과 레이아웃을 위해 테이블을 사용했지만 이제는 위치 지정과 레이아웃을 위해 p를 사용해야 합니다. 이것은 발상의 전환인데, 처음에는 조금 불편합니다. 하하, 어떤 변화에도 저항이 있을 것입니다. 표준이 가져오는 "혜택"을 누리려면 일부 오래된 전통 관행을 포기하는 것이 좋습니다.
스타일 시트 외부 호출
과거에는 일반적으로 스타일 시트를 두 가지 방법으로 사용했습니다.
페이지의 인라인 방법: 즉, 스타일 시트 삽입 페이지 코드의 헤드 부분에 직접 작성합니다. 이와 비슷합니다:
외부 호출 방법 : 스타일시트를 별도의 .css 파일로 작성한 후 페이지의 헤드 영역에 다음과 유사한 코드로 호출합니다.
웹에 부합하는 디자인 표준에서는 외부 호출 방법을 사용하며 이점은 자명합니다. 페이지를 수정하지 않고 .css 파일만 수정하면 페이지 스타일을 변경할 수 있습니다. 모든 페이지가 동일한 스타일 시트 파일을 호출하는 경우 하나의 스타일 시트 파일을 변경하면 모든 파일의 스타일이 변경될 수 있습니다.
스타일 시트를 호출하는 이중 테이블 방법
일부 표준 준수 사이트의 원본 코드를 보면 다음과 같은 2개의 문장이 있는 것을 볼 수 있습니다. 스타일 시트의 이름은 다음과 같습니다.
;style type="text /css" media="all">@import url( css/style01.css );
왜 두 번 써야 하나요?
사실 일반적인 상황에서는 외부링크 방식(즉, 첫 번째 문장)만 사용해도 충분합니다. 여기서 사용하는 이중 테이블 호출은 단지 예일 뿐입니다. "@import" 명령은 스타일 시트를 입력하는 데 사용됩니다. "@import" 명령은 Netscape 4.0 브라우저에서 유효하지 않습니다. 즉, Netscape 4.0 브라우저에서는 특정 효과를 숨기고 4.0 이상이나 다른 브라우저에서 표시하려는 경우 "@import" 명령 메소드를 사용하여 스타일 시트를 호출할 수 있습니다.
이 팁은 주로 메타 태그 설정에 중점을 둡니다. 실제로 웹 표준 준수와는 거의 관련이 없습니다. 마지막에 추가하는 것에 주의하세요. "/"만 사용하여 태그를 닫을 수 있지만, 이것은 입문용 튜토리얼이므로 좀 더 자세히 작성해 보겠습니다.
즐겨찾기 아이콘
이 사이트를 즐겨찾기에 추가하시면 즐겨찾기 URL 앞의 IE 아이콘이 이 사이트의 특별한 아이콘이 되는 것을 보실 수 있습니다. 이 효과를 얻는 방법은 매우 간단합니다. 먼저 16x16 아이콘을 만들고 이름을 favicon.ico로 지정한 다음 루트 디렉터리에 배치합니다. 그런 다음 헤드 영역에 다음 코드를 삽입합니다.
< ;link rel="shortcut icon" href="/favicon.ico" type="image/x-icon" />
검색 엔진용 콘텐츠
코드는 다음과 같습니다. 자신의 사이트 콘텐츠로 바꾸면 됩니다.
검색 로봇이 사이트의 모든 링크를 검색하도록 허용합니다. 특정 페이지를 검색하지 않으려면 robots.txt 방식을 사용하는 것이 좋습니다
사이트 작성자 정보 설정
사이트 저작권 정보 설정
사이트에 대한 간략한 소개(권장)
사이트 키워드(권장)
이 정도만 먼저 소개하겠습니다. 보충 설명, 이전 5개 섹션은 모두 헤드 영역의 코드에 관한 것이었고 실제 페이지 내용은 전혀 언급되지 않았습니다. 하하. 사실 헤드 영역은 매우 중요하다는 것을 알 수 있습니다. 페이지의 헤드 코드를 보고 디자이너를 만드는 것만으로도 충분합니까?
공식적인 콘텐츠 제작을 시작하기 전에 먼저 웹 표준의 코드 사양을 이해해야 합니다. 이러한 사양을 이해하면 우회를 피하고 최대한 빨리 비밀번호 확인에 도움이 될 수 있습니다.
1. 모든 태그에는 해당하는 닫는 태그가 있어야 합니다.
과거에는 HTML에서
li>를 사용하여 해당
를 작성하는 대신에 그러나 이것은 XHTML에서는 합법적이지 않습니다. XHTML은 엄격한 구조를 요구하며 모든 태그를 닫아야 합니다. 페어링되지 않은 별도의 태그인 경우 태그 끝에 "/"를 추가하여 닫습니다. 예:/b>는 다음과 같이 수정되어야 합니다.
/p> 즉, 레이어별 중첩은 엄격하게 대칭이어야 합니다. 위 내용은 웹 페이지 레이아웃에 CSS를 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!
4. 모든 속성은 따옴표로 묶어야 합니다. ""
HTML에서는 속성 값 앞뒤에 따옴표를 붙일 필요가 없지만, XHTML에서는 인용되어야 합니다. 예:
특별한 경우에는 속성 값에 큰따옴표를 사용해야 합니다. " 를 사용할 수 있고, 작은따옴표로 '를 사용할 수 있습니다(예:
5. 인코딩을 사용하여 모든 < 및 & 특수 기호 <🎜)를 나타냅니다. >
태그의 일부가 아닌 모든 미만 기호(<)는 & l t 부분이 아닌 모든 초과 기호(>)로 인코딩되어야 합니다. 태그는 >
엔터티의 일부가 아닌 모든 앰퍼샌드(&)는 & a m p
로 인코딩되어야 합니다. 참고: 위 사이에는 공백이 없습니다. >6. 모든 속성에 값 할당
XHTML은 모든 속성에 값이 있어야 한다고 규정하며, 값이 없으면 다음과 같이 반복됩니다. > < input type="checkbox" name="shirt" value="medium" selected> 다음으로 수정해야 합니다:
7. 댓글 내용에 '--'를 사용하지 마세요.
"-- "는 XHTML 주석 끝의 시작과 끝에서만 발생할 수 있습니다. 즉, 내용에서 더 이상 유효하지 않습니다. 예를 들어 다음 코드는 유효하지 않습니다:
내부 점선을 등호나 공백으로 바꾸세요
관련 기사
더보기