โฮมเพจ » การเข้ารหัส » ใช้ Normalize.css เพื่อการพัฒนาที่เป็นเนื้อเดียวกัน

    ใช้ Normalize.css เพื่อการพัฒนาที่เป็นเนื้อเดียวกัน

    ความเข้ากันได้ของเบราว์เซอร์เป็นส่วนสำคัญของการเข้าถึงบนเว็บ นักพัฒนาจำเป็นต้องพิจารณา ความแปรปรวนของผู้ชมและเวอร์ชันเบราว์เซอร์ที่ต้องการการสนับสนุน. แม้ว่าการรีเซ็ต CSS เป็นตัวเลือก แต่ผู้พัฒนาส่วนใหญ่ชอบ Normalize.css เนื่องจากความเรียบง่ายและความเข้ากันได้ข้ามเว็บเบราว์เซอร์สมัยใหม่ทั้งหมด.

    ในโพสต์นี้ฉันจะครอบคลุม พื้นฐานของ Normalize และเปรียบเทียบกับการรีเซ็ต CSS ทั่วไป. นี่ไม่ใช่ห้องสมุดที่ซับซ้อนและไม่ควรใช้เวลามากกว่าสองชั่วโมงในการทำความเข้าใจ แต่กุญแจสำคัญในการทำให้ปกติคือการเรียนรู้ อย่างไร เพื่อดำเนินการอย่างถูกต้องและรอบคอบ.

    รีเซ็ตเบราว์เซอร์เทียบกับทำให้ปกติ

    เป็นเวลาหลายปีที่ฉันได้ใช้การรีเซ็ต CSS ของ Eric Meyer เอง สิ่งเหล่านี้เพียงพอสำหรับโครงการส่วนใหญ่ของฉันและไม่ได้ทำให้เกิดปัญหาที่สำคัญ อย่างไรก็ตาม Normalize เปลี่ยนมุมมองการรีเซ็ตของฉันเพราะมันทำงานต่างจากการรีเซ็ต CSS เป็นสิ่งสำคัญที่คุณจะต้องเข้าใจความแตกต่าง.

    คิดว่า Normalize เป็น เสื้อผ้านำไปใช้อย่างสม่ำเสมอกับเบราว์เซอร์ทั้งหมด, และคิดว่า CSS รีเซ็ตเป็นการระเบิดแสนสาหัส ในทุกเบราว์เซอร์.

    ทำให้รูปแบบและส่วนหัวของรูปแบบย่อหน้าย่อหน้าบล็อกบล็อคและองค์ประกอบทั่วไปเป็นปกติ ปรากฏเหมือนกัน (หรือใกล้พอ) ในเบราว์เซอร์ที่รองรับทั้งหมด CSS รีเซ็ตการล้างกระดานชนวนทั้งหมดให้สะอาดดังนั้นจึงมี ไม่มีค่าเริ่มต้น เพื่ออะไร.

    ด้วยการรีเซ็ต CSS ส่วนหัวของคุณสามารถมีลักษณะเหมือนกับย่อหน้าของคุณ องค์ประกอบที่ไม่มีการขยายระยะขอบหรือระยะห่างใด ๆ ด้วยการรีเซ็ต CSS คุณต้องระบุรหัสใหม่ เพื่อเพิ่มสไตล์ ด้วย Normalize คุณจะได้รับ สไตล์ที่ออกแบบไว้ล่วงหน้า ซึ่งสามารถสร้างได้.

    ดังนั้นหนึ่งในสิ่งเหล่านี้ดีกว่าอีกหรือไม่ มันเป็นหัวข้อที่ถกเถียงกันอย่างถึงแม้ว่าจุดหนึ่งของการโต้แย้งระบุว่า Normalize ทำงานได้ดีขึ้นสำหรับความเข้ากันได้และสร้างไฟล์ขนาดเล็ก.

    “ฉันจะต้องยืนยันว่าการปรับสภาพให้เป็นมาตรฐานนั้นดีกว่าการรีเซ็ต มันจะส่งผลให้ CSS ถูกถ่ายโอนข้ามลวดน้อยลงใช้ค่าเริ่มต้นของ UA ได้ดีขึ้นและมีความเข้าใจที่ดีขึ้นเกี่ยวกับองค์ประกอบต่างๆ ความหมาย เพื่อแสดง.”

    ไม่ว่าคุณจะตกหลุมรัก Normalize หรือชอบการรีเซ็ตแบบปกติมันเป็นสิ่งสำคัญที่จะต้องเข้าใจอย่างน้อยทั้งสองข้าง นักพัฒนาน้อยมากเริ่มเขียนโค้ดตั้งแต่เริ่มต้นเพื่อให้ปกติหรือรีเซ็ต CSS เป็นสิ่งจำเป็นสำหรับการพัฒนาส่วนหน้าที่ทันสมัย.

    หากคุณต้องการลองรีเซ็ต CSS ที่นี่เป็นตัวเลือกยอดนิยม:

    • รีเซ็ตของ Eric Meyer
    • รีเซ็ต HTML5
    • HTML5Doctor รีเซ็ต

    กำหนดค่าปกติ

    ผู้สร้าง Normalize Nicolas Gallagher เขียนโพสต์เกริ่นนำที่มีข้อความนี้:

    “Normalize.css เป็นไฟล์ CSS ขนาดเล็กที่ให้ความสอดคล้องของเบราว์เซอร์ที่ดีกว่าในการกำหนดค่าเริ่มต้นขององค์ประกอบ HTML มันทันสมัย ​​HTML5 พร้อมทางเลือกในการรีเซ็ต CSS แบบดั้งเดิม.”

    ในช่วงหลายปีที่ผ่านมานี้ได้กลายเป็นห้องสมุดที่น่าเชื่อถือซึ่งนักพัฒนาซอฟต์แวร์ทั่วโลกใช้ Normalize ยังถูกใช้ในระดับหนึ่งใน Bootstrap และ Pure CSS.

    มีสองวิธีในการใช้ Normalize ในโครงการ: แก้ไขซอร์สเพื่อกำหนดสไตล์ชีต Normalize ของคุณเองหรือใช้เป็นฐานและเพิ่มสไตล์ที่ด้านบน.

    วิธีแรกคือกลยุทธ์แบบเลือกและเลือกที่คุณต้องผ่านไฟล์ Normalize.css และลบสิ่งที่คุณไม่ต้องการสร้างสไตล์ชีทของคุณเอง สิ่งนี้ดีที่สุดสำหรับแต่ละโครงการเพื่อให้ขนาดไฟล์ต่ำ.

    อีกทางเลือกหนึ่งคือนักพัฒนาบางคนรวมไฟล์ Normalize.css ทั้งหมดและสร้างสไตล์ชีทของพวกเขาเอง สไตล์ชีต Normalize แบบเต็มขยายโค้ด 420+ บรรทัดซึ่งเท่ากับ ~ 6.8KB ที่ไม่บีบอัด.

    ไม่มีวิธีใดดีไปกว่าวิธีอื่นและคุ้มค่าที่จะทำตามสิ่งที่ดีที่สุดสำหรับแต่ละโครงการหรือเวิร์กโฟลว์ที่คุณต้องการ.

    ในการเริ่มต้นให้ดาวน์โหลดสำเนา Normalize จาก GitHub หรือโฮสต์จาก CDN ภายนอก คุณยังสามารถดึง Normalize เวอร์ชันล่าสุดได้โดยตรงจาก NPM ดังนี้:

    npm ติดตั้ง - บันทึก normalize.css 

    หากคุณไม่ต้องการดาวน์โหลดไฟล์ใด ๆ คุณสามารถสร้างโปรเจค CodePen ใหม่ซึ่งสามารถผนวก Normalize ได้ด้วยการคลิกปุ่ม.

    เนื่องจาก Normalize เป็นแบบแยกส่วนคุณสามารถลบส่วนต่าง ๆ ได้ชั่วคราวหรือแม้กระทั่งสร้าง Normalize แบบกำหนดเองของคุณเอง จากนั้นคุณสามารถเริ่มต้นแต่ละโครงการด้วยส่วนที่เลือกเช่นองค์ประกอบการแสดงผล HTML5 ในขณะที่ลบสไตล์สำหรับเนื้อหาที่ฝัง.

    กฎ Normalize แต่ละข้อมีความคิดเห็น CSS ที่สอดคล้องกันซึ่งอธิบายถึงสิ่งที่ทำและแก้ไขปัญหา / ข้อบกพร่องใดบ้าง บางคนเห็นได้ชัดเช่นการตั้งค่า จอแสดงผล: บล็อก ในองค์ประกอบ HTML5 ที่ใหม่กว่า.

    คนอื่นจะไม่ค่อยเห็นเช่นรหัส SVG นี้ซึ่งซ่อนอยู่ใน Internet Explorer:

    svg: ไม่ (: root) ล้น: ซ่อนอยู่  

    ฉันขอแนะนำ skimming สไตล์ชีทเพื่อดูว่ามันทำงานอย่างไรและเรียนรู้ว่า Normalize จะเหมาะกับโครงการของคุณหรือไม่.

    Normalize.css ในการออกแบบเว็บ

    เวอร์ชันล่าสุดของ Normalize v4.0 ให้การสนับสนุนเบราว์เซอร์อย่างกว้างขวาง.

    • Chrome (สองอันสุดท้าย)
    • Edge (สองอันสุดท้าย)
    • Firefox (สองรายการสุดท้าย)
    • Firefox ESR
    • Internet Explorer 8+
    • Opera (สองรายการสุดท้าย)
    • Safari 6+

    จากสิ่งที่ฉันสามารถบอกได้ Normalize อาจรองรับเบราว์เซอร์เวอร์ชันเก่าที่มีการปรับปรุงอย่างต่อเนื่องเช่น Firefox แต่ “เป็นทางการ” การสนับสนุนรวมถึง Chrome / Edge / FF / Opera สองเวอร์ชันล่าสุดเท่านั้น.

    นอกจากนี้ IE6 + และ Safari 4+ ยังรองรับ Normalize v1 แต่รุ่นนั้นไม่ได้รับการอัพเดตอีกต่อไป.

    เป็นสิ่งสำคัญที่คุณจะต้องตรวจสอบเวอร์ชันของเบราว์เซอร์ด้วยเครื่องมือเช่น Google Analytics สิ่งนี้จะช่วยให้คุณมีความคิดที่ดีขึ้นว่า Normalize จะเป็นเครื่องมือที่มีประโยชน์สำหรับงานออกแบบเว็บไซต์ที่ทันสมัยหรือไม่.

    แหล่งข้อมูลเพิ่มเติม

    มีไม่มากพอที่จะสอนโดยเฉพาะเกี่ยวกับ Normalizeize ดังนั้นการเรียนรู้ส่วนใหญ่เกิดขึ้นจากการทำ.

    และตามจริงแล้วมีไม่มากที่จะอธิบายว่าคุณไม่สามารถรับได้โดยการอ่านสไตล์ชีทและคัดลอก / แก้ไขรหัสตามต้องการ แต่ถ้าคุณกำลังมองหาข้อมูลที่เกี่ยวข้องอื่น ๆ ฉันได้เพิ่มลิงก์ด้านล่าง.

    บทความที่เกี่ยวข้อง

    • Nicolas Gallagher: เกี่ยวกับ Normalize.css
    • รู้เบื้องต้นเกี่ยวกับ HTML5 หม้อไอน้ำ
    • Normalize.css vs Reset.css: อันไหนที่จะใช้?

    วิดีโอแนะนำ

    • ใช้ Normalize CSS
    • การรีเซ็ตและการทำให้เป็นมาตรฐานโดย Envato
    • Nicolas Gallagher - คิดนอกเหนือจาก CSS ที่ปรับขนาดได้