ทำไมต้องใช้ CSS

ทำไมต้องใช้ CSS

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

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

ทำไมต้องใช้ CSS

คำตอบผมขอแบ่งออกเป็นสองมุมมองนะครับก็คือมุมมองของ develop หรือ คนทำเว็บ กับอีกมุมมองก็คือ user หรือคนเข้าเว็บนั่นเอง

มุมมองของคนทำเว็บ - ลดเวลาในการพัฒนาลงได้ อาจจะงง ว่ามันจะลดได้อย่างไร เพราะว่า learning curve สูงกว่าการใช้ table แบบเดิมตั้งเยอะ แต่ว่าต้องแยกให้ออกครับ ว่าเวลาที่ใช้ในการพัฒนานั่นคือคนละส่วนกับเวลาที่ใช้ใน learning curve เพราะว่าการศึกษา ไม่ใช่การพัฒนา พัฒนาก็คือคนที่ไม่ต้องศึกษาแล้ว รู้แล้วเขียนได้เลยนั่นเอง

ลดการทำซ้ำ อย่างที่ผมเคยเล่าให้ฟังไปแล้วใน เทคนิคการเขียนโค้ดให้เร็ว ว่าเราจะต้องไม่ทำซ้ำๆ ในสิ่งที่เราเคยทำไปแล้ว เพราะว่าเป็นการเสียเวลามาก และ CSS ก็ช่วยตรงนี้ได้ดีมาก ลองนึกภาพตามว่าเราเขียนหน้าเว็บขึ้นมา 10 หน้าที่มีหน้าตาเหมือนกัน โดยการวางโครงสร้างด้วย table และหากเราต้องการแก้ layout โดยการขยับไปนิดหน่อย เราก็ต้องแก้ทั้ง 10หน้า แต่ว่าหากเราใช้ CSS นั้นเราแก้ไขแค่ครั้งเดียว มีผลทั้ง 10 หน้านั้นทันทีเลย

ลดขนาดโค้ด ลดปริมาณการเขียน ขนาดไฟล์เล็กลง เนื่องจาก โค้ดที่เขียนโดยใช้ CSS นั้น หน้าเว็บก็จะไม่ปรากฏส่วนของการควบคุมการแสดงผลเลย (เช่น พวก font , font-size) เพราะว่าเราตัดออกไปเขียนใน CSS ที่เป็นคนละไฟล์นั่นเอง ทำให้เราเขียนน้อยลงแน่นอน อีกทั้งขนาดโค้ดที่ปรากฏในหน้าเว็บก็น้อยลงด้วย โดยเป็นผลต่อเนื่องมาจากการใช้ซ้ำด้วย ตามที่ได้เล่าให้ฟังไปก่อนแล้ว แล้วอีกอย่างที่เป็นของแถม นั่นคือทำให้เรามีแนวโน้มอันดับใน search engine ต่างๆที่ดีขึ้นด้วย ไม่ได้หมายความว่าต้องดีเสมอไปนะครับ แต่เป็นองค์ประกอบหนึ่งครับ ที่ได้มาเป็นของแถม เพราะว่าโค้ดไม่เปรอะเปื้อน ค้นหาเพื่อแก้ไขได้ง่าย

เว็บออกมามีมาตรฐาน หรือที่เค้าเรียกว่า web standard แต่บางคนไม่เข้าใจว่า จะต้องทำเว็บให้เป็น web standard ทำไม ในเมื่อ standard หรือไม่ standard ก็ทำงานได้เหมือนกัน แต่ความต่างของมันก็คือ การแสดงผลที่เหมือนกันในต่าง browser ครับ คือเว็บที่เป็น web standard นั้นมีโอกาสที่จะเพี้ยนเมื่อเปิดด้วยต่าง browser น้อยกว่าเว็บที่ไม่ standard เหตุผลเป็นเพราะว่าหลังๆนี้ browser ที่ออกมาใหม่ หรือของเดิมที่ออก version ใหม่เค้าก็พัฒนาอ้างอิงตาม standard ที่แพร่หลายกันแล้วครับ

มุมมองของคนเปิดเว็บ - หน้าเว็บจะแสดงผลได้เร็วขึ้น เพราะว่าการ render เพื่อแสดงผลหน้าเว็บโดยใช้ CSS  ไม่เหมือนกับการ render เพื่อแสดงหน้าเว็บโดยอาศัย table ในการแสดงผล หากเรายังจำได้ถ้าเมื่อเราจัดหน้าเว็บด้วย table เวลาเปิดเว็บก็จะต้องรอการแสดงผลจากบนลงล่าง ซ้ายไปขวาเสมอ แต่หากเป็น CSS นั้นไม่ใช่เลย เนื้อหาปรากฏขึ้นมาแทบจะทันที เพราะว่าใช้เวลาการโหลดสั้นมาก และหากยังโหลด CSS ไม่เสร็จ ก็ยังเรียงเนื้อหาเป็นส่วนๆลงมาได้อีกด้วย(เป็นค่า default ของการใช้ CSS) แต่ทั้งนี้ก็ขึ้นกับฝีมือการวางลำดับ content ของ programmer เองด้วยส่วนหนึ่ง แต่โดยส่วนใหญ่ก็อ่านรู้เรื่องอยู่

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

ไม่ใช้ CSS ได้หรือเปล่า

ได้ครับ ไม่ได้มีใครบังคับว่าการทำเว็บจะต้องใช้ CSS เสมอไป หากเป็นเว็บที่เล็กๆไม่มีความซับซ้อนก็สามารถใช้ table จัดการเหมือนเดิมก็ได้ไม่มีปัญหา แต่หากว่าเมื่อมีโอกาส หรือต้องทำเว็บใหญ่ที่มีการจัดหน้าเว็บที่ซับซ้อน ผมว่า CSS work กว่ามากๆครับ ดังนั้นศึกษาไว้เถอะครับ ถ้าเค้าไม่ดีจริง เค้าคงไม่พัฒนา CSS 3 ต่ออย่างแน่นอนครับ

สรุปข้อดีของ CSS

 

  • ใช้ซ้ำได้ - เขียนครั้งเดียวใช้ได้ทั้งเว็บ นอกเว็บยังได้เลยเอ้า
  • แก้ไขน้อย - เพราะว่าแก้ไขจุดเดียวที่ CSS ก็มีผลต่อทุกจุดที่เรียกใช้เลยไม่ต้องไปตามแก้
  • ลดการเขียนโค้ดซ้ำ - นอกจากเสียเวลาเขียนแล้ว ยังเสียเวลาแก้อีก เพราะว่าแก้ 1 ต้องตามแก้ 2 3 4 ไล่ไปจนกว่าจะครบ แล้วถ้าตรงไหนลืม ก็ไม่ถูกแก้ไปเลย....
  • ขนาดโค้ดเล็กลง - เพราะว่าแยกออกไปใส่ใน CSS ไฟล์ต่างหาก 
  • โหลดเว็บได้เร็วขึ้น - ต่อเนื่องมาจากโค้ดที่เล็กลง
  • เว็บมีมาตรฐาน - เพราะว่า CSS ก็เป็นมาตรฐานหนึ่งที่นิยมใช้กันแพร่หลายในปัจจุบันครับ
  • หน้าเว็บแสดงเหมือนกันในแต่ละ browser - แม้ว่าปัจจุบันจะยังมองไม่เห็นจุดนี้ชัดมาก แต่ในเวลาอันใกล้นี้ ชัดแน่ครับ

 

สรุปข้อเสียของ CSS

 

  • learning curve สูง เพราะว่ามันเป็นเรื่องใหม่ของใครหลายคน จากเดิม รู้แค่ html จัดตารางก็ได้แล้ว ต้องมานั่งศึกษา CSS เพิ่มอีก
นึกออกแค่ข้อเดียว 5555 เข้าข้างกันไปหรือเปล่า ไม่หรอกครับ ทองแท้ย่อมทนไฟ 5555 แต่ผมว่าถ้าอยู่ในสายงาน web developer แล้วการศึกษา CSS ไว้คุ้มค่ามากครับ

 

Create: Modify : 2010-11-10 21:06:34 Read : 8947 URL :