20 คะแนน โดย xguru 2024-06-21 | 7 ความคิดเห็น | แชร์ทาง WhatsApp
  • เมื่อสัปดาห์ที่แล้ว CSS WG ได้ตัดสินใจเพิ่ม if() แบบอินไลน์เข้ามาใน CSS
  • แม้จะเป็นข้อเสนอที่เคยถูกปฏิเสธมาหลายครั้งในอดีต แต่ครั้งนี้ได้รับการยอมรับโดยอ้างอิงจาก style query และไวยากรณ์ของ media() กับ supports()
  • เสียงตอบรับจากนักพัฒนาเป็นไปในทางบวกมาก และหวังว่าเบราว์เซอร์จะให้ความสำคัญกับฟีเจอร์นี้และใส่ไว้ในโรดแมป

if() ใช้ทำอะไร? มาแทน style query หรือไม่?

  • มันทำหน้าที่เสริม style query และถ้าใช้ style query ได้ ก็ควรใช้ style query จะดีกว่า
  • แต่ก็มีบางอย่างที่ style query ทำไม่ได้ เช่น กรณีใช้ custom property --variant เพื่อตั้งค่าสีพื้นหลัง สีเส้นขอบ สีข้อความ ไอคอน เป็นต้น
  • style query ใช้ได้กับองค์ประกอบลูกเท่านั้น จึงไม่สามารถกำหนด declaration ให้กับตัวองค์ประกอบเองได้
  • presentation attribute มีปัญหาเรื่องความยืดหยุ่น ความกระชับ และความสม่ำเสมอ
  • การใช้ if() จะทำให้สามารถกำหนด declaration ให้กับตัวองค์ประกอบเองได้
  • เงื่อนไขของ media query และ support condition ก็สามารถรวมอยู่ในไวยากรณ์เงื่อนไขของ if() ได้เช่นกัน

ตอนนี้มีในเบราว์เซอร์แล้วหรือยัง?

  • ยังไม่ได้ถูกนำไปใช้ในเบราว์เซอร์
  • มองในแง่ดี ก็คาดว่าน่าจะต้องใช้เวลาอย่างน้อยราว 2 ปีกว่าจะมีการนำไปพัฒนาใช้งานจริง
  • ตอนนี้เป็นเพียงการเห็นพ้องกันในระดับฟีเจอร์เท่านั้น ยังไม่ใช่ขั้นตอนการพัฒนา

นี่เป็นไวยากรณ์แบบมีเงื่อนไขครั้งแรกใน CSS หรือไม่?

  • CSS มีไวยากรณ์แบบมีเงื่อนไขมาตั้งแต่แรกอยู่แล้ว โดย selector ทุกตัวก็ถือเป็นไวยากรณ์แบบมีเงื่อนไขรูปแบบหนึ่ง
  • กฎ @media, @supports ก็เป็นไวยากรณ์แบบมีเงื่อนไขเช่นกัน

สิ่งนี้จะทำให้ CSS กลายเป็นภาษาเชิงคำสั่งหรือไม่?

  • ความต่างระหว่างภาษาเชิงคำสั่งกับภาษาเชิงประกาศอยู่ที่ระดับนามธรรม ไม่ใช่ที่ตรรกะ
  • ต่อให้มีการเพิ่มตรรกะแบบมีเงื่อนไข CSS ก็ยังคงเป็นภาษาเชิงประกาศอยู่ดี

สิ่งนี้จะทำให้ CSS กลายเป็นภาษาโปรแกรมหรือไม่?

  • CSS ก็อาจถือเป็นภาษาโปรแกรมได้มานานแล้ว
  • เกณฑ์ในการมองว่า CSS เป็นภาษาโปรแกรมหรือไม่นั้นไม่ใช่ประเด็นสำคัญ
  • "สิ่งสำคัญคือการยอมรับความเชี่ยวชาญด้าน CSS"

"ใครก็ตามที่รู้จักทั้งภาษาโปรแกรมชื่อดังหลายภาษาและ CSS จะรู้ได้ว่า CSS นั้นเชี่ยวชาญจนคล่องได้ยากกว่ามาก"

7 ความคิดเห็น

 
budlebee 2024-06-21

อีกไม่นานก็จะเล่น Doom บน CSS ได้..!

 
[ความคิดเห็นนี้ถูกซ่อน]
 
unsure4000 2024-06-21

นี่มันอะไรกันเนี่ย 555555555555555

 
tsboard 2024-06-21

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

 
savvykang 2024-06-21

นี่คงเป็นอีกช่วงเวลาที่สโนว์บอลแห่งกรรมจากการตัดสินใจสร้าง UI ด้วย HTML ก้อนใหญ่ขึ้นอีกครั้ง

 
princox 2024-06-21

นี่มัน CSS เหรอ... JavaScript เหรอ.... หรือว่า CSSScript...

 
nemorize 2024-06-21

ส่วนตัวผมรู้สึกว่ามันเยอะเกินไปหน่อยหรือเปล่า...