7 Features ใหม่ของ CSS ที่คุณควรรู้จักเอาไว้

28-มี.ค.-25

คัมภีร์เทพ IT

จากการอัปเดตอย่างต่อเนื่องของ CSS ทำให้มันมีประสิทธิภาพมากขึ้น ใช้งานง่าย และสนุกขึ้นกว่าเดิม ดังนั้นเรามาดูกันว่าCSS มีอะไรใหม่ ๆ บ้าง และทำไมการเปลี่ยนแปลงเหล่านี้ถึงสำคัญกับ Developer อย่างคุณ กับ 7 Features ใหม่ของ CSS ที่คุณควรรู้จักเอาไว้

1. จัดองค์ประกอบไว้ตรงกลางได้ง่ายขึ้นโดยไม่ต้องใช้ Flexbox หรือ Grid

ก่อนหน้านี้ การจัด Elements ด้วย CSS ให้อยู่ตรงกึ่งกลาง ดูจะเป็นเรื่องที่ค่อนข้างยุ่งยาก ซึ่งคุณจะต้องใช้ Flexbox หรือ Grid เพื่อทำสิ่งนั้น

แต่ตอนนี้คุณไม่จำเป็นใช้พวกมันแล้ว เนื่องจาก CSS ได้เพิ่ม Property ใหม่อย่าง align-content ที่จะช่วยให้คุณสามารถจัดวาง Elements ให้อยู่ตรงกลางได้ง่ายขึ้น โดยไม่ต้องใช้ Container พิเศษแต่อย่างใด

มันดูง่ายขึ้น คุณเห็นด้วยไหม

2. ตัวแปร CSS ฉลาดขึ้นด้วย @property

ตัวแปร (Variables) ใน CSS มีประโยชน์มากอยู่แล้ว แต่ @property จะช่วยทำให้มันมีความยืดหยุ่นและปลอดภัยยิ่งขึ้น

ตอนนี้คุณสามารถกำหนด Custom Properties ด้วย Types, Inheritance Rules และ Default Values ที่ต้องการได้แล้ว

ก่อนที่จะมี @property, Custom Properties นั้นทรงพลัง แต่ยังขาดในด้านของ Type Safety และ Constraints ตัวอย่างเช่น:

ถึงแม้วิธีนี้จะใช้การได้ แต่ตัวแปรเหล่านั้นก็ยังมีจุดที่อาจเกิดปัญหาได้ในบางกรณี

หากมีคนกำหนด Invalid Value โดยไม่ได้ตั้งใจ เช่น --rotation: blue; Code จะเกิดการขัดข้องหรือทำงานผิดปกติ

ตอนนี้ คุณสามารถประกาศ Custom Properties ด้วย Syntax, Initial Value และ Inheritance Rules

วิธีการทำงานมีดังนี้:

  • syntax: ระบุ Type ของ Value ที่ Property สามารถใช้ได้ เช่น สำหรับ --rotation ก็จะเป็น <angle> (เช่น 45deg หรือ 1turn)
  • inherits: กำหนดว่า Property ควรจะ Inherit ค่าจาก Parent Element หรือไม่ ซึ่งในกรณีนี้ เราตั้งค่าเป็น false
  • initial-value: กำหนดค่า Default หากไม่มีการกำหนดค่าอื่น ๆ ในที่นี้ ค่า Default คือ 0deg

3. Starting-Style Rule

เมื่อเปิด Webpage เชื่อว่า Users น่าจะต้องการประสบการณ์ที่ราบรื่น

อย่างไรก็ตาม Developers มักจะเผชิญกับปัญหาที่รู้จักกันดีของ "Flash Of Unstyled Content" (FOUC) หรือการแสดงผลที่ไม่สม่ำเสมอในขณะที่รอให้ Styles ถูกนำมาใช้

Starting-Style Rule ตัวใหม่นี้ ถือเป็นตัวเปลี่ยนเกมในการแก้ไขปัญหานี้

Rule นี้จะช่วยทำให้แน่ใจว่า องค์ประกอบต่าง ๆ มีลักษณะเฉพาะตั้งแต่ช่วงเวลาที่แสดงผล โดยหลีกเลี่ยงการเปลี่ยน Layout และรักษาความสม่ำเสมอของ Visual

วิธีการทำงานมีดังนี้:

ถ้ามี Modal Popup ปกติเราต้องใช้ Inline Styles เพื่อซ่อนมันไว้ก่อน แต่ตอนนี้สามารถใช้ @starting-style แทนได้

4. ฟังก์ชันเกี่ยวกับการคำนวณใหม่ใน CSS

CSS อนุญาตให้มีการคำนวณแบบง่าย ๆ ด้วย calc() Function แต่ความสามารถของมันค่อนข้างจำกัด

แต่จากการอัปเดตล่าสุด นำเสนอชุด Math Functions ใหม่ รวมถึง round(), mod() และ rem()

วิธีเดิม: การคำนวณทางคณิตศาสตร์ถูกจำกัดด้วย calc()

Math Functions ขั้น Advance

Math Functions ของ CSS ใหม่ เช่น round(), mod() และ rem() ซึ่งจะช่วยแก้ไขปัญหาได้มากขึ้น 

มาดูการทำงานของ Functions เหล่านี้กัน:

5. จัดการ Light และ Dark Mode ได้ง่ายขึ้น

การจัดการ Light และ Dark Themes สำหรับ Website เคยเป็นเรื่องที่ยุ่งยากซับซ้อน

Developers มักต้องใช้ Media Queries เพื่อกำหนด Styles แยกกัน ซึ่งทำให้ Code มีความซ้ำซ้อนและ Maintain ยาก

แต่ตอนนี้ light-dark() Function ของ CSS ได้เปลี่ยนแนวทางการจัดการ Theme ไปตลอดกาล

วิธีเดิม: ใช้ Media Queries เพื่อจัดการ Theme

วิธีใหม่: ใช้ light-dark()

วิธีการทำงานของมัน มีดังนี้:

  • ค่าแรก: ใช้เป็น Style สำหรับ Light Mode (ในกรณีนี้คือ white สำหรับ background-color)
  • ค่าที่สอง: ใช้เป็น Style สำหรับ Dark Mode (ในกรณีนี้คือ black สำหรับ background-color)

6. ปรับปรุงการตรวจสอบข้อมูลใน Form ด้วย Pseudo-Classes ใหม่

Form เป็นหัวใจสำคัญของการโต้ตอบของ User บน Web แต่การที่จะทำให้ User กรอกข้อมูลถูกต้องถือเป็นเรื่องที่ท้าทาย

ก่อนหน้านี้ CSS เคยมี Pseudo-Classes เช่น :valid และ :invalid สำหรับตรวจสอบข้อมูลใน Form แต่บางครั้ง พวกมันก็ไม่ค่อยมีความยืดหยุ่นเสมอไป

แต่ตอนนี้ CSS มี Pseudo-Classes ใหม่คือ :user-valid และ :user-invalid ซึ่งจะช่วยให้การตรวจสอบ Form มีความเป็นธรรมชาติมากขึ้น

วิธีเดิม: การตรวจสอบแบบ Static ด้วย :valid และ :invalid

ก่อนหน้านี้ เราสามารถใช้ :valid และ :invalid เพื่อตรวจสอบค่าใน Form ได้

แต่ปัญหาคือ :valid และ :invalid จะทำงานทันทีที่ Page เริ่ม Load แม้ User จะยังไม่ได้พิมพ์อะไรเลย

วิธีใหม่: ใช้ :user-valid และ :user-invalid

Pseudo-Classes อย่าง :user-valid และ :user-invalid จะถูกใช้เมื่อ User เริ่มกรอกข้อมูลเท่านั้น ซึ่งวิธีนี้ Style จะเปลี่ยนแปลงเฉพาะเมื่อ User โต้ตอบกับ Fields มันจะลดปัญหาการตรวจสอบก่อนเวลาอันควร

7. สร้างขนาดองค์ประกอบ Animation ได้ดีขึ้นด้วย Interpolate-Size

การสร้าง Animation ให้กับ ความสูง (Height), ความกว้าง (Width) หรือ Padding เป็นเรื่องที่ยุ่งยากเสมอใน CSS

interpolate-size Property ใหม่ จะเปลี่ยนแปลงวิธีการทำงานของขนาด Animation

วิธีเดิม: การใช้ค่าสูงสุด หรือ JavaScript

ก่อนที่จะมี interpolate-size ขนาด Animation ใน CSS นั้นมีข้อจำกัด Developers ส่วนใหญ่มักใช้:

หรือ JavaScript Code แบบนี้:

วิธีใหม่: ใช้ interpolate-size

  • Browser จะคำนวณขนาดเริ่มต้นและขนาดสุดท้ายให้โดยอัตโนมัติ แม้กระทั่งสำหรับค่าอัตโนมัติ
  • การเปลี่ยนขนาดจะราบรื่นขึ้น ไม่ว่าภายใน Elements จะมี Content มากแค่ไหน

การอัปเดต CSS เหล่านี้สามารถใช้งานได้บน Browser หลักทั้งหมด ไม่ว่าจะเป็น Chrome, Firefox, Safari หรือ Edge คุณสามารถเริ่มใช้คุณสมบัติเหล่านี้ได้ทันที

สรุป

และนี่ก็เป็น 7 Features ใหม่ของ CSS ที่คุณควรรู้จักเอาไว้ ด้วย Features ใหม่เหล่านี้ จะช่วยทำให้การพัฒนา Web ง่ายขึ้น ทรงพลังขึ้น และสนุกขึ้น ลองใช้งานพวกมันดู แล้วคุณจะหลงรัก CSS มากขึ้นกว่าเดิม

ที่มา: https://medium.com/

 

 

รับตำแหน่งงานไอทีใหม่ๆ ด้วยบริการ IT Job Alert

 

อัพเดทบทความจากคนวงในสายไอทีทาง LINE ก่อนใคร
อย่าลืมแอดไลน์ @techstarth เป็นเพื่อนนะคะ

เพิ่มเพื่อน

 

บทความล่าสุด