CSS วิบาก

เริ่มต้นเรื่องแนว Comp. Only ในเว็บนี้กันด้วยประสบการณ์แก้ CSS แล้วกัน

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

ความสนุกเริ่มขึ้นเมื่อหนึ่งใน Requirement ที่ได้รับมาคือเมนู Drop-Down ซึ่งแน่นอนว่าผมไม่มีปัญญาทำเองครับ ยังดีที่มีคนทำโมดูล Nice Menus มาให้เรียบร้อยแล้ว แม้จะบอกว่าอยู่ในระดับ Experimental แต่ยังไงคงดีกว่าเขียนใหม่เองแน่นอน ว่าแล้วก็ไม่รอช้า ติดตั้งในทันใด

กระบวนการต่อจากนั้นเป็นการ Customize ให้เมนูนั้นเข้ากับตัวเว็บครับ ซึ่งก็สนุกสนานดีเพราะสุดท้ายแล้วมีบางส่วนต้องใช้ jQuery มาเพื่อนำ DOM Parser ของมันมาใช้ในการทำสวยงามด้วย ตลอดกระบวนการนั้นได้รับความช่วยเหลือจาก Firebug เป็นอย่างดี รอดตายมาได้หลายต่อหลายครั้งก็เพราะมัน

สุดท้ายมาอับจนปัญญาเอาตรงนี้ครับ

จริงๆ ก็ไม่มีอะไรมาก แค่มีการกำหนดสี Background เอาไว้เมื่อมีเมาส์ Hover ไปตรงลิงก์ แค่หา CSS ที่เกี่ยวข้องแล้วแก้ออกก็น่าจะหายไป ปัญหาคือผมไม่ได้กำหนด และผมไม่รู้ว่ามีใครไปกำหนดไว้ตรงไหน

ถ้าได้ศึกษา CSS มาบ้างจะรู้ว่ามันมีสิ่งที่เรียกว่า Pseudo Class เช่น “class_name:hover” ใน CSS ที่เอาไว้ทำหน้าที่กำหนดสีแบบนี้โดยเฉพาะ ความลำบากมันบังเกิดเมื่อผมพบว่า Firebug มันไม่รองรับ Pseudo Class เลยงานนี้เลยต้องนั่งงมกันเองว่าเจ้า CSS ที่ว่านี้มันมาจากตรงไหนกัน

วิธีการแก้ปัญหาแรกที่คิดออกเลยคือเอา jQuery มายิงสี Background ตอนทำ Hover ให้เปลี่ยนสีไปก่อนเลย เป็นการซ่อนปัญหาไว้ใต้พรมที่ดูน่าจะได้ผลดีที่สุดแล้ว แม้จะรู้ว่าไม่ใช่การแก้ปัญหาที่ดี แต่ผมก็ไม่รอช้าที่จะลอง แต่ถ้ามันเวิร์คคงรอไปอีกนานที่จะกลับมาแก้… :P

$(".menu-parent-id-2 li").hover(function(){ $(this).css(background:"#8FAF0F"); },function(){ $(this).css(background:"#000000"); }

งานนี้ลองเสร็จเว็บก็เละในทันที….

กลับไปนอนคิดอีกคืน ผลที่ได้คือในเมื่อ Firebug มันบอกไม่ได้ว่าสีนี้มาจากไหนก็ไม่ต้องรอมันบอก หาเองโลด เลยต้องหาที่พึ่งใหม่นั่นคือ


ColorZilla นั่นเอง….

ความสนุกยังไม่จบลงแค่นั้น หลังจากที่ลง ColorZilla แล้ว เมื่อลองใช้งานดูก็พบว่า


มันใช้ไม่ได้ครับพี่น้อง….

สุดท้ายก็มีแต่ The GIMP ที่เข้าใจเรา

เมื่อได้ค่าสีแล้วก็พบว่าสีแบบนี้มีใช้ในธีม Stylized Beauty ที่มุกเอามาใช้เป็น Base ในการสร้างธีม ก็ลบบรรทัดนั้นออกไปก็เป็นอันเรียบร้อย

และแล้วเมนูก็เสร็จตาม Requirement…..

 

Separation

กำลังคิดว่าจะแยก Blog เนื่องจากที่นี่เขียนเรื่องหวานๆ ที่นี่มาจะสองปีแล้วดูจะไม่รุ่งเท่าใหร่  แถมเขียนทางคอมมากๆ ก็ดูจะไม่มีใครอ่าน (เพราะสับสนในแบรนด์?)

เนื่องในโอกาส Exteen ปรับเวอร์ชั่นใหม่ คิดว่าคงดีกว่าที่จะไปเขียนเรื่องหวานๆ ที่โน่นแทน

ที่นี่เก็บไว้เรื่องคอมๆ อย่างเดียวดีกว่าเนอะ…..

 

conflict

อาจารย์ในภาคของผมมีอยู่คนหนึ่งทำงานวิจัยเรื่องของ Conflict of Services โดยหลักๆ แล้วมันคือการพยายามตรวจสอบและแก้ไขในกรณีที่บริการต่างๆ มีความขัดแย้งกันเอง เช่นว่า บริษัทมือถืออาจจะออกโปรโมชั่นนาทีละบาททุกเครือข่าย พร้อมๆ กับมีบริการเสริมโทรฟรีเฉพาะเบอร์ แต่บริการโทรฟรีเฉพาะเบอร์มีเงื่อนไขว่าโทรเบอร์อื่นๆ จะกลายเป็นนาทีละสองบาท

คำถามคือจะเกิดอะไรขึ้นถ้าผู้ใช้สมัครทั้งสองแพกเกจนี้พร้อมๆ กัน?

ชีวิตของเราคงไม่ต่างกันมากนัก มันเป็นเรื่องปรกติที่เราจะตั้งเงื่อนไขกับคนรอบข้างเรา เราอาจจะเรียกร้องอะไรบางอย่างจากคนๆ หนึ่ง เราอาจจะตั้งกำแพงไม่ให้คนๆ หนึ่งเข้าใกล้เรามากไปกว่านั้น

แต่หลายๆ ครั้งแล้ว เงื่อนไขเหล่านั้นก็กลับขัดแย้งกันเอง

หลายครั้งเราตั้งคำถามว่าทำไมเขาหรือเธอจึงไม่ทำตามเงื่อนไขข้อนั้นข้อนี้ แต่เมื่อเงื่อนไขนั้นบรรลุผล แล้วเราลืมมันไป หลังจากนั้นเรามักจะพบว่ามีเงื่อนไขข้ออื่นกำลังถูกละเมิด

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

ถึงเวลาหนึ่งแล้วเราคงต้องถามตัวเอง ว่าจริงๆ แล้วเราต้องการอะไรกัน และเงื่อนไขข้อใดต้องเป็นฝ่ายถอยเพื่อให้ความสัมพันธ์เดินหน้าต่อไปได้

แต่การถามตัวเองว่าต้องการอะไรจริงๆ…. คงไม่ใช่เรื่องง่ายนัก

 

เพราะเรา….

เคยเจอเหตุการณ์อะไรแย่ๆ ที่เกิดขึ้นต่อหน้าเรากันบ้างไหม เราอาจจะเห็นรถชนกันข้างๆ รถของเรา เราอาจจะเห็นคนถูกรถชน เราอาจจะต้องเจอกับคนที่ร้องไห้เพราะกระเป๋าเงินหาย

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

เราอดสงสัยไม่ได้ว่าจะเกิดอะไรขึ้น ถ้าเราเลือกที่แก้ไขปัญหานั้นอย่างเต็มความสามารถที่เราควรจะทำได้จริงๆ

…..

เราอาจจะช่วยเขาผู้เดือนร้อนเหล่านั้นได้มากกว่าที่เราคิดรึเปล่า

…..

เขาอาจจะไม่เดือดร้อนอีกต่อไปหลังจากที่เราได้ช่วยเขาอย่างถูกต้องรึเปล่า

……

บางทีแล้วปัญหาทั้งหมดอาจจะเกิดขึ้นเพราะเรา

……

เพราะเราเอง…… รึเปล่า