โดยปกติแล้วสไตล์ของหน้าเว็บที่ผู้ใช้เห็นจะถูกควบคุมโดยสามเลเยอร์ เลเยอร์แรกคือสไตล์เริ่มต้นของเบราว์เซอร์ เลเยอร์ที่สองคือสไตล์ที่กำหนดโดยเว็บเพจ และเลเยอร์ที่สามคือสไตล์ที่ผู้ใช้กำหนด เช่นเดียวกับ CSS รูปแบบหลังจะมีลำดับความสำคัญสูงกว่ารูปแบบก่อนหน้า ซึ่งหมายความว่าสไตล์ที่กำหนดหน้าเว็บสามารถแทนที่สไตล์เริ่มต้นของเบราว์เซอร์ได้ และสไตล์ที่ผู้ใช้กำหนดจะมีลำดับความสำคัญสูงสุด สถานการณ์จริงคือแม้ว่าเบราว์เซอร์จะมีฟังก์ชันของสไตล์ที่ผู้ใช้กำหนดไม่มากก็น้อย แต่มีผู้ใช้เพียงไม่กี่รายเท่านั้นที่จะปรับแต่งมัน และโดยทั่วไปแล้วพวกเขาเป็นผู้ใช้ขั้นสูง รูปแบบเริ่มต้นของเบราว์เซอร์มักจะมีการตั้งค่าที่แตกต่างกันในเบราว์เซอร์ที่แตกต่างกัน เวอร์ชันภาษาที่แตกต่างกัน และแม้แต่เวอร์ชันของระบบที่แตกต่างกัน ซึ่งส่งผลให้หน้าเว็บที่ใช้รูปแบบเริ่มต้นโดยตรงแสดงไม่สอดคล้องกันอย่างมากในเบราว์เซอร์ต่างๆ ดังนั้นจึงมีปัญหาที่คล้ายกัน การรีเซ็ตของ YUI ใช้เพื่อพยายามเขียนการตั้งค่าเริ่มต้นของเบราว์เซอร์ใหม่ เพื่อให้มั่นใจว่าสไตล์ของแต่ละเบราว์เซอร์จะสอดคล้องกัน
ยกตัวอย่างแบบอักษร ประเภทแบบอักษรเริ่มต้น ขนาดแบบอักษร และความสูงของบรรทัดแบบอักษรของแต่ละเบราว์เซอร์จะแตกต่างกัน ตัวอย่างเช่น เมื่อ IE8 เวอร์ชันภาษาจีนแสดงหน้าเว็บใน Windows XP แบบอักษรเริ่มต้นคือ Song Dynasty แต่นี่เป็นสิ่งที่แน่นอน ไม่ใช่กรณีของเวอร์ชันภาษาอังกฤษ ดังนั้นเราจึงจำเป็นต้องตั้งค่ารูปแบบแบบอักษรเริ่มต้นให้สม่ำเสมอเพื่อให้ได้เอฟเฟกต์การแสดงผลที่สอดคล้องกัน เพื่อให้มั่นใจว่าการออกแบบจะสอดคล้องกันและปรับปรุงประสิทธิภาพการพัฒนา
ในอนาคต ให้เตรียมใช้รูปแบบตัวอักษรเริ่มต้นต่อไปนี้:
body{ font: 12px/1.5 arial; }
อักขระเนื้อหาส่วนใหญ่บนหน้าเว็บของเราเป็นภาษาจีน ไม่ต้องสงสัยเลยว่าแบบอักษรที่ใช้กันมากที่สุดในการแสดงภาษาจีนบนหน้าเว็บคือ Song Dynasty แต่ Song Dynasty นั้นแย่เกินไปในการแสดงภาษาอังกฤษ ตัวเลข และสัญลักษณ์ภาษาอังกฤษ เช่น อักขระ © ดังนั้นโดยทั่วไปเราคาดว่าจะแสดงด้วยรูปแบบตัวอักษรที่ดีกว่าผ่าน CSS จากนั้นใช้ Song Dynasty เพื่อแสดงสัญลักษณ์ภาษาจีนและจีน เหตุผลที่ฉันเลือกอาเรียลก็เพราะว่า:
tahoma
และ helvetica
ไม่ได้โชคดีนักfont: 12px/1 Tahoma, Helvetica, Arial, "5b8b4f53", sans-serif;
นี่เป็นตัวเลือกที่ดีมาก แต่คุณจะพบ ว่าเวอร์ชันใหม่ของ Google, YAHOO, Youtube, Bing และแม้แต่ MSN ใช้ arial
เป็นแบบอักษรเริ่มต้นตัวแรก ดังนั้น arial
จึงควรเป็นที่ยอมรับได้อย่างสมบูรณ์ในแง่ของความสวยงามและความสามารถในการอ่านfont-family:arial,sans-serif;
แต่อย่างน้อยก็ในเวอร์ชันที่ไม่ใช่ภาษาจีน Win7 เมื่อการเข้ารหัสเป็น GBK IE8 จะแสดงแบบอักษร Song เนื่องจาก sans-serif
ทำให้แบบอักษรผิดรูป นี่คือสาเหตุที่ Taobao จำเป็นต้องเพิ่มแบบอักษร Song ก่อน sans-serif
แต่ Google ไม่จำเป็นต้องทำเช่นนี้font-family:arial;
บางคนอาจสังเกตเห็นว่าแบบอักษรจีนเริ่มต้นที่แสดงใน Firefox China คือ Microsoft Yahei เนื่องจาก Mouzhi Network ได้แก้ไขสไตล์ที่ผู้ใช้กำหนดโดยไม่ได้รับอนุญาตและไม่อนุญาตให้สไตล์ของหน้าเว็บแทนที่สไตล์ที่กำหนดโดยเบราว์เซอร์ . เนื่องจากสถานการณ์ที่คล้ายคลึงกัน จึงเป็นสิ่งสำคัญมากสำหรับเราในการออกแบบหน้าเว็บที่มีความยืดหยุ่น ปัญหาหนึ่งที่เกิดจากการใช้แบบอักษรภาษาอังกฤษเป็นแบบอักษรเริ่มต้นแรกคือ ปัญหาการจัดตำแหน่งเมื่อภาษาจีน อังกฤษ และสัญลักษณ์ปะปนกัน สถานการณ์ส่วนใหญ่สามารถแก้ไขได้โดยการตั้งค่าความสูงของบรรทัดและ hasLayout แต่จะไม่สมบูรณ์หากคุณเปลี่ยนแปลง การเปลี่ยนฟอนต์เป็น "ซ่งตี้" ก็สามารถแก้ปัญหาได้อย่างสมบูรณ์ เห็นได้ชัดว่าปัญหานี้เกิดขึ้นเฉพาะกับ IE เท่านั้น ดังนั้น หากเว็บไซต์ของคุณไม่ค่อยใช้ภาษาอังกฤษ ตัวเลข และสัญลักษณ์ภาษาอังกฤษ การตั้งค่า {font-family:5b8b4f53;}
โดยตรงก็เป็นทางเลือกที่สมเหตุสมผลเช่นกัน
font:13px/1.231 arial,helvetica,clean,sans-serif;
นั่นคือ ขนาดแบบอักษรเริ่มต้นคือ 13px ความสูงของบรรทัดคือ 13*1.231=16.003px และความสูงของบรรทัดเริ่มต้นคือ 1.231 เท่า แบบอักษรเริ่มต้น สำหรับภาษาจีน ขนาดแบบอักษรที่ใช้กันทั่วไปคือ 12px, 14px, 16px, 18px และขนาดคู่อื่นๆ การตั้งค่าความสูงของบรรทัดให้เป็นเลขคู่ใน IE6 และ IE7 สามารถแก้ปัญหาการจัดตำแหน่งแบบอักษรได้ในบางกรณีline-height
ระวังอย่าใช้หน่วย (รวมถึง %) เนื่องจากโหนดลูกจะสืบทอดค่า line-height ที่คำนวณได้ ดังนั้นเมื่อใช้หน่วย เบราว์เซอร์จะคำนวณ line-height
เป็นค่าที่กำหนดเป็นค่าแรก ค่าจะไม่เปลี่ยนแปลงเมื่อขนาดฟอนต์เปลี่ยนไป และค่า unitless จะเป็นค่าพหุคูณของ font-size
ของคอนเทนเนอร์ ดังนั้นการตั้งค่าให้เป็นค่า unitless จึงเป็นตัวเลือกที่ดีที่สุดline-height
และคุ้มค่าที่จะอ่านarial
เพื่อลดเวลาในการค้นหาเบราว์เซอร์arial
นั้นเป็นฟอนต์ที่มีชื่อสั้นที่สุด ซึ่งสามารถบันทึกขนาด CSS ได้{font-family:5b8b4f53;}
และเมื่อใช้ Microsoft Yahei จะเป็น {font-family:5fae8f6f96c59ed1;}
มีข้อดีในการหลีกเลี่ยงปัญหาการเข้ารหัส และเบราว์เซอร์หลักๆ ทั้งหมดสามารถรองรับได้