Cascading Style Sheets (CSS) เป็นเครื่องมือที่สมบูรณ์ที่ดีที่สุด ในการออกแบบ website ในขณะนี้ ถึงแม้ความเป็นจริง CSS ยังไม่สามารถนำมาใช้งาน ได้อย่างสมบูรณ์ตามที่เราคาดหวังไว้ก็ตาม
หลาย ๆ คนคงปวดหัวปวดกบาลไปกะมันเพราะอะไร เพราะ Browser ที่ออกแบบมาไม่ตรงตามกำหนดกฎเกณฑ์มาตรฐานที่กำหนดไว้ พูดง่าย ๆ หาความเป็นอันหนึ่งอันเดียวกันลำบาก อีกทั้งยังต้องคำนึงถึง Browser ตัวเก่า ๆ ที่เราหลาย ๆ คนเลิกใช้กันแล้ว แต่ User บางคนยังใช้อยู่ ซึ่งเราก็ต้องทำให้มันแสดงผลได้สมบูรณ์ ใน Browser เหล่านั้นด้วย
กลุ่ม Designer ตอนนี้ก็ … ในความรู้สึกของผมเอง แบ่งได้ 2 กลุ่มใหญ่ ๆ ก็คือ
– พยายามที่จะทำ และ ศึกษา CSS ให้ออกมาใช้งานได้ดี และ แน่นอนต้องดูดีในทุก ๆ Browser
– ส่วนอีกกลุ่มก็ ฉันไม่สนใจ CSS ฉันจะใช้มันก็แค่กำหนด สีของ font ไม่ก็คุณลักษณะเล็ก ๆ น้อย ๆ ของฉันก็แค่นั้นเอง ผมถือว่าพวกเราทั้งหลายอยู่ในกลุ่มแรกละกันนะครับ
บทความของผมนั้นเป็นบทความที่สอนให้ แหกกฎบางกฎในการเขียน CSS เพื่อให้ใช้งานได้ตามที่เราต้องการ ซึ่งอาจจะขัดแย้งกับสิ่งที่พรได้สอนไว้ แต่เพื่องานครับ ไม่มีงานก็ไม่มีเงิน ไม่มีเงินก็ไม่มีแฟน เย้ย …ไม่ใช่ ไม่มีกิน ไอ้สิ่งที่ผมจะสอนฝรั่งเขาเรียกกันว่า CSS Hack แต่ในที่นี้ไม่ได้เป็นเหมือนการเจาะระบบเพื่อหาข้อผิดพลาดเพื่อแก้ไข นะครับ เป็นการหาข้อผิดพลาดใน Browser ที่มันมีปัญหา หรือ สร้างปัญหาให้เราแล้วมาเขียน CSS ให้ใช้ได้กับมัน ตอนนี้คงเกิดคำถามว่า
“เพื่ออะไรวะ ไอ้ปลา มึงบ้าไปแล้วเหรอเดี๋ยวนี้ใคร ๆ เขาก็ใช้ Browser ที่มันเป็นมาตรฐานอยู่แล้วนี่”
บอกได้เลยครับว่าคุณคิดผิด User บางคนยังใช้ IE4, IE5 และ Netscape 4.0 ก็มี ถ้าไม่จำเป็นเราก็เลี่ยงได้หรอก แต่ถ้ามันจำเป็นเพราะว่ามันเป็นงานที่จะต้องทำล่ะก็คงเลือกไม่ได้สินะครับ จะบอกว่า
“เรื่องของมึง เสือกไม่ลง Browser ที่มัน Support เองดูไม่ได้ก็เรื่องของมึง”
คำพูดนี้ใช้ได้ก็ต่อเมื่อมันเป็นเวปของคุณเองนะขอรับ ถ้าเป็นลูกค้าบางคนเนี่ยเขาลงโปรแกรมเองไม่เป็นเสียด้วยซ้ำ
ตอนนี้เข้าใจแล้วนะครับว่าทำไมต้อง ประกาศสงคราม
CSS Hack ที่ผมพูดถึงนี่คือ การทำให้ CSS ของเราทำงานกับ HTML/XHTML ได้ในทุก ๆ Browser ส่วนใหญ่ลักษณะการทำงานของพวกมันก็จะเป็นการทำงานในแบบว่า ซ่อนแสดง style ที่ใช้ได้เหมาะสม หรือ ไม่เหมาะสม กับ browser อย่างเหมาะสม งงไหมครับ ก็คือ เหมือนกับว่าเราต้องเขียน CSS ให้เลือกทำงานกับ Browser ได้อย่างเหมาะสม ทำงานให้ถูกต้องกับคู่ขา เช่น ถ้าฉันต้องทำงานกับ Safari ฉันต้องซ่อน Style ในบรรทัดนี้นะไม่อย่างนั้น Safari เขาจะไม่ทำตามที่ฉันบอก ถ้าฉันทำงานกับ IE5 ฉันต้องแสดง Style นี้นะ แล้วเก็บ Style นี้ไว้ไม่อย่างนั้น IE5 จะทำเกินคำสั่งที่ฉันหวังเอาไว้ อะไรแบบนั้นครับ นี่คือ หลักของการ Hack CSS เราจะเริ่มได้อย่างไร เราก็ต้องเริ่มจากการศึกษา Style Rules ที่แต่ละ Web Browser นั้นได้ถูกสร้างมาเพื่อเป็นกฎในการประมวลการแสดงผลของ Browser แต่ละตัว ว่ามันตอบสนองต่อ CSS อย่างไรบ้าง
ผมไม่ได้ต้องการ ที่จะเสี้ยมสอนพวกเพื่อน ๆ พี่ ๆ น้อง ๆ ให้เขียนไม่ถูกต้องตามมาตรฐานนะครับ (เขียนไม่ถูกสุขลักษณะ) แต่อยากให้มันเป็นข้อคิดวิทยาทาน เอาไว้ใช้ในยามจำเป็นครับ เพราะในโลกของความจริงเราก็ต้องทำงานให้ดีที่สุด เราก็อยากให้งานออกมาดี ลูกค้าก็เช่นกัน เขาก็ต้องการให้สิ่งที่เขาได้นั้นคุ้มค่าพอกับที่เขาควรจะได้ ก็ลองพิจารณากันดูครับ
ขอเน้นว่า:
ให้ทำตามกฎก่อนให้เข้าใจถ่องแท้ แล้วค่อยแหกกฎจะดีกว่านะครับ เพราะถึงอย่างไรเราก็จะต้องยืนอยู่บนบรรทัดฐานเดียวกัน แต่อย่างไรก็ตามการทำงาน งานหนึ่ง ๆ เราก็ควรจะถามลูกค้าด้วยเหมือนกันว่าให้เราโฟกัสงานของเราไปที่ Browser อะไรบ้างก่อนที่จะตอบตกลงปลงใจไป จะได้ไม่ต้องมานั่งกุมหัวปวดขมับในภายหลังครับ
หนทางสู่นรกมักปูดาดไปด้วยความมุ่งมั่นที่แน่วแน่
เจอกันรอบหน้าครับ …
0 Responses to ประกาศสงคราม