รูปแบบต่างๆของ DOCTYPE

ตอนนี้เรามี doctype อยู่สามแบบที่ให้เราสามารถเลือกใช้งานได้ระหว่าง HTML 4 และ XHTML 1.0 นั่นคือ strict, transitional และ frameset ซึ่งจะถูกนำไปใช้ในรูปแบบโครงสร้างที่ต่างกัน โดยมาตรฐานตามที่ W3C ได้กำหนดเอาไว้
สำหรับ (X)HTML strict นั้นเราจะต้องเขียนโค้ดอย่างรัดกุม หรือศัพท์ที่เค้าเรียกว่า deprecated tags และนั่นก็คือความต่างเพียงอย่างเดียวเมื่อเทียบกับ transitional และ frameset โดยที่ในแบบของ deprecated tags นั้นเราจะต้องเขียนคำสั่งทุกจุดให้ถูกต้องตามมาตรฐานของ XHTML ทั้งหมด จึงจะถูกต้องตามมาตรฐานของ strict

หากถามว่าเราจะเลือกใช้เวอร์ชั่นอะไรดี คำตอบที่ตอบก็คือ “แล้วแต่…..” เหตุนั่นเป็นเพราะว่า HTML มันมีความยืดหยุ่นและใช้งานง่ายเหมาะกับเว็บส่วนตัว แต่ถ้าคุณต้องการใช้มาตรฐานแบบ strict คุณก็จะต้องเลือกใช้แบบ XHTML ซึ่งจะทำให้มีความสามารถที่มากกว่าในการสร้างเว็บ เมื่อรวมเข้ากับการใช้ style ในการจัดหน้าเว็บ ซึ่งนั่นจะทำให้เราสามารถปรับปรุงระบบได้ง่ายกว่าในอนาคต

แต่ถ้าคุณไม่อยากต้องมานั่งตรวจเช็ค tag ต่างๆโดยละเอียดล่ะก็ดูเหมือนว่า transition ก็น่าจะเหมาะสมมากกว่า และสุดท้ายถ้าหน้าเว็บมีการใช้งาน frame ก็ต้องใช้แบบ frameset

คุณสามารถเลือกใช้เวอร์ชั่นรูปแบบของ doctype ได้ด้วยการประกาศ doctype ซึ่งมีนเป็นส่วนหนึ่งของหน้าเว็บเพจ โดยคุณสามารถใช้ตัวตรวจเช็คหรือ validator ซึ่งมีบริการอยู่ที่ http://validate.w3c.org เพื่อตรวจเช็คความถูกต้องได้ โดยเมื่อถ้ามีโค้ดจุดที่ผิดพลาดบนหน้าเว็บ ตัวตรวจเช็คดังกล่าวจะรายงานจุดที่ผิดพลาดทันที ซึ่งเราสามารถใช้ในการตรวจสอบโค้ดของเราได้เป็นอย่างดีไม่ต้องเสียเวลาในการไล่เช็คด้วยตนเอง ซึ่งเราจะเล่าเรื่องนี้ให้ฟังโดยละเอียดอีกครั้งในภายหลัง

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transtional.dtd">
สิ่งเพิ่มเติมที่ 1.28 นี่คือตัวอย่างการประกาศ doctype สำหรับ XHTML ในรูปแบบ transitional document โดยคุณจะสามารถหาการประกาศ doctype ได้ในโค้ดของเว็บหน้านั้นๆ

การใช้งานตามมาตรฐานของ doctype และการใช้งานแบบ Quirks mode
มันก็ยังเป็นปัญหาอยู่เหมือนกันสำหรับ browser ที่เก่าๆที่ไม่รองรับการแสดงผลหน้าเว็บในรูปแบบของ XHTML และ CSS แต่อย่างไรก็ตามเราสามารถใช้วิธีการที่เค้าเรียกว่า hacks ได้ ซึ่งจะทำให้การแสดงผลหน้านั้นๆเปลี่ยนไปแสดงผลในแบบ Quirks mode(โหมดการแสดงผลแบบพิเศษ) นั่นเอง

โดยในตอนนี้ browser สมัยใหม่มักจะรองรับการทำงานในสองโหมดคือ quirks mode และแบบปรกติหรือ standard mode (ยกเว้น opera ที่ยังทำงานในสองโหมดไม่ได้) โดยปรกติเมื่อเราเปิดเว็บ browser จะทำการเช็ตการประกาศ doctype ก่อนเลย ถ้าเจอก็จะตั้งสมมุติฐานว่าหน้าเว็บนั้นทำงานในแบบมาตรฐาน และจะแสดงผลหน้าเว็บใน standard mode (โหมดการแสดงผลหน้าเว็บแบบปรกติ) แต่ถ้าการตรวจเช็คนั้นไม่พบการประกาศของ doctype จะทำให้ browser นั้นแสดงผลในแบบเก่า ที่ทำให้มาตรฐานการแสดงผลในแบบใหม่ๆไม่สามารถใช้งานได้

body {background:url{background.jpg} bottom right no-repeat}
p{font-family: "Trebuchet MS ", "Helvetica", sans-serif; font-weight: bold; color:3366cc; }
img{ float:left;margin-right:10px}
สิ่งเพิ่มเติมที่ 1.29 โค้ดที่จะใช้สำหรับทดสอบการแสดงผลของ Browser


quirk mode on internet explorer
สิ่งเพิ่มเติมที่ 1.30 ถ้าคุณไม่ได้ประกาศ DOCTYPE จะทำให้ Internet Explorer แสดงผลต่อในรูปแบบที่ไม่มาตรฐาน หรือแสดงใน Quirk mode ซึ่งจะเห็นได้ว่าตัวหนังสือเป็นสีฟ้า ทั้งๆที่ ค่าสียังไม่ได้ใส่เครื่องหมาย # ที่ด้านหน้าตัวเลขฐาน16

standard mode on internet explorer
สิ่งเพิ่มเติมที่ 1.31 แต่ถ้าคุณใส่ DOCTYPE เอาไว้ด้วย จะทำให้ Internet Explorer สามารถแสดงผลได้อย่างปรกติ และซ่อนค่าตัวเลขที่ไม่ถูกต้องเอาไว้ไม่แสดงผลออกมาจึงเห็นว่าเป็นตัวหนังสือสีดำ

No comments yet.
You must be logged in to post a comment.