โดย ซูซานน่า เค
ในบทความก่อนหน้า ผมได้พูดถึง doctype —ว่ามันคืออะไรและว่าทำไมจึงจำเป็น ในบทความนี้ ผมจะขุดลึกลงไปในความแตกต่างระหว่างโหมดต่างๆ ที่เบราว์เซอร์สามารถทำงานได้: โหมดมาตรฐานเต็มรูปแบบ (full standards mode), โหมดมาตรฐานเกือบเต็ม (almost standards mode), และโหมดควิกส์ (quirks mode)
บทความทั้งสองนี้เกี่ยวข้องกันมาก คุณอาจอย่อ่านบทความก่อนหน้าก่อนเพื่อเข้าใจว่าผมพูดถึงอะไร
คำถาม: โหมดมาตรฐานเต็ม, เกือบมาตรฐาน และควิกส์ แตกต่างกันอย่างไร?
โหมดต่างๆ ทั้งหมดนี้เกี่ยวข้องกับการนำมาตรฐาน W3C ไปใช้ในช่วงแรกๆ
Doctype ถูกนำมาเพื่อบอกเบราว์เซอร์ว่าเอกสารที่พวกเขากำลังจะเรนเดอร์เป็นประเภทไหน ถ้าผู้พัฒนาลืมใส่ doctype ในเอกสาร HTML เบราว์เซอร์จะไม่รู้เลยว่ากำลังจัดการกับเอกสารประเภทไหน
เพื่อความปลอดภัย มันจะเรนเดอร์เอกสารให้เข้ากับเบราว์เซอร์เก่า (Navigator 4, Internet Explorer 4 และ 5) ในสิ่งที่เรียกว่า "โหมดควิกส์" (quirks mode)
และเพราะเบราว์เซอร์เก่าๆ อาศัยอยู่ในโลกของ CSS ที่แย่มาก นั่นหมายความว่า CSS สไตล์ของคุณหลายอย่างจะไม่ถูกนำไปใช้ และเว็บไซต์จะไม่แสดงผลเหมือนที่คุณคาดหวัง
當然, บางนักพัฒนาอาจเลือกที่จะละเว้น doctype โดยเจตนา เพราะพวกเขาอยากให้เอกสารเรนเดอร์ในโหมดควิกส์ เพื่อเหตุผลบางอย่าง
แบบว่า "ถ้าผมอยากรู้เว็บของผมจะดูยังไงในปี 1998 ล่ะ?"
เหตุผลดีแล้วล่ะ
ตอนนี้เรารู้ว่าโหมดควิกส์คืออะไรและมันจะทำให้เว็บของเราเสียยังไง (แตก) โหมดมาตรฐานเต็มและเกือบมาตรฐานเป็นยังไงบ้าง?
โหมดเกือบมาตรฐาน (almost standards mode) ยังเรียกอีกอย่างว่า "โหมดควิกส์จำกัด" (limited quirks mode) ตามที่คุณนึก像, เนื้อหาที่เรนเดอร์ในโหมดนี้เกือบจะ compliant กับโหมดมาตรฐานเต็มทุกประการ
เกือบ
คำที่เศร้าที่สุดในโลก
เรื่องสั้นเล็กๆ
คำที่เศร้าที่สุด
ในโลกกว้างใหญ่นี้
คือคำว่า "เกือบ"
เขาเกือบจะรัก
เธอเกือบจะดีพอสำหรับเขา
เขาเกือบจะหยุดเธอ
เธอเกือบจะรอ
เขาเกือบจะมีชีวิต
พวกเขาเกือบจะสำเร็จ
โดย นิคิตา กิลล์
ไม่เป็นไร มาเดินต่อไปดีกว่า
โหมดเกือบมาตรฐานจะเรนเดอร์เอกสารด้วยควิกส์เพียงเล็กน้อย ที่เกี่ยวข้องกับการกำหนดขนาดแนวตั้งของเซลล์ตาราง (table cells)
สementara โหมดมาตรฐานเต็มจะเรนเดอร์เอกสารตามข้อกำหนด HTML และ CSS ล่าสุด แม้ว่ายังจะมีความแตกต่างบ้างระหว่างเบราว์เซอร์สมัยใหม่ในการเรนเดอร์เนื้อหา แต่เราสามารถใช้ Normalize.css หรือ Reset CSS เพื่อลดความไม่สอดคล้อง (และรักษาความสุขใจของเรา)
ดังนั้น ถ้ามีควิกส์บนเว็บไซต์ของคุณ มันอาจมาจากคุณ เอง ไม่ใช่เบราว์เซอร์
ขอโทษด้วย
เป็นอย่างนี้แล้ว ถ้ามีใครถามถึงความแตกต่างระหว่างโหมดมาตรฐานเต็ม เกือบมาตรฐาน และควิกส์ ให้จำแค่เบราว์เซอร์เก่า CSS แตก และคำที่เศร้าที่สุด
ถ้าอยากอ่านเพิ่มเติมเกี่ยวกับการเปิดใช้โหมดเบราว์เซอร์ต่างๆ มีภาพรวมที่ยอดเยี่ยมจาก เอ็นรี ซิโวเนน และรายการควิกส์โดยประมาณหาได้ที่ MDN
ครั้งหน้า ผมจะขุดลึกความแตกต่างระหว่าง HTML และ XHTML หวังว่าคุณจะมาเจอกันในหัวข้อที่น่าตื่นเต้นนี้อีกครั้ง! เจอกันใหม่เร็วๆ นี้!
รายการคำถามที่ผมตอบนี้ได้มาจาก โรส จากสำนักงานจ้างงาน Verify ในดับลิน ไอร์แลนด์
ถ้าคุณเพลิดเพลินกับบทความนี้และได้ประโยชน์ กรุณาพิจารณาเวลาคอมเมนต์หรือแชป ด้วยนะครับ ขอบคุณ!
เรียนรู้การเขียนโค้ดฟรี หลักสูตรโอเพนซอร์สของ freeCodeCamp ช่วยให้ผู้คน 40,000+ คนได้งานเป็นนักพัฒนา เริ่มต้นเลย