CSS เตรียมเพิ่มเงื่อนไขอินไลน์ `if()`
(lea.verou.me)- เมื่อสัปดาห์ที่แล้ว 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 ความคิดเห็น
อีกไม่นานก็จะเล่น Doom บน CSS ได้..!
นี่มันอะไรกันเนี่ย 555555555555555
ดูเหมือนว่า CSS จะเป็นสิ่งที่ต่อให้เรียนเท่าไรก็ไม่มีวันจบเลยนะครับ ชักรู้สึกเหมือนว่ามันกำลังซับซ้อนเกินไปหรือเปล่า...
นี่คงเป็นอีกช่วงเวลาที่สโนว์บอลแห่งกรรมจากการตัดสินใจสร้าง UI ด้วย HTML ก้อนใหญ่ขึ้นอีกครั้ง
นี่มัน CSS เหรอ... JavaScript เหรอ.... หรือว่า CSSScript...
ส่วนตัวผมรู้สึกว่ามันเยอะเกินไปหน่อยหรือเปล่า...