เวลาผมเล่นเน็ต บางทีก็มีเรื่องขัดใจอยู่เหมือนกัน อย่างบางเว็บที่มันยาวไม่เกินหน้า มันไม่มี Scroll Bar ถ้าหน้าไหนยาวเกินก็มี ปัญหาคือถ้าเว็บนั้นมันมีหน้าทั้งสองแบบล่ะ? แล้วยิ่งเว็บที่บังคับ div ให้ลอยตรงกลาง เวลาเปลี่ยนหน้าแล้วมี Scroll โผล่มา มันก็เลื่อนซ้าย พอ Scroll หายไป มันก็เลื่อนขวา

อธิบายแบบนี้ไม่ค่อยเห็นภาพ ลองดูตัวอย่างที่เว็บภาค http://www.cpe.ku.ac.th/ กดตรงเมนู “บุคลากร” เทียบกับ “เกี่ยวกับภาควิชา” จะเห็นได้ว่ากรอบหลักของหน้ามันขยับซ้ายขวาเล็กน้อยเวลาเปลี่ยนหน้า นั่นเกิดจาก Scroll ที่ทำให้การคำนวณความกว้างของหน้ามันเปลี่ยน

อธิบายให้เข้าใจยาก ลองดูภาพประกอบดีกว่า

CPE Department Website

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

ก็เลยต้องหาวิธีแก้ครับ หลังจากพึ่ง Google ไม่นานก็ได้คำตอบ วิธีแก้คือไปเขียน CSS เพิ่มเติมใน userContent.css ตามนี้เลย

  1. เปิดโฟลเดอร์ Profile ของเราให้ได้ วิธีง่ายๆก็ Start > Run พิมพ์ %AppData% แล้ว Enter แล้วเข้าไปใน Mozilla\Firefox\xxx.default โดย xxx จะเป็นตัวอักษรกับตัวเลขสุ่มๆ ยาวประมาณ 8 ตัว
  2. เมื่อเข้าไปได้แล้วก็สร้างโฟลเดอร์ชื่อว่า chrome ข้างในนั้น
  3. ก้อปไฟล์ C:\Program Files\Mozilla Firefox\defaults\profile\chrome\userContent-example.css  ไปใส่ใน chrome จากข้อ 2. แล้วเปลี่ยนชื่อเป็น userContent.css
  4. เปิดไฟล์ userContent.css ใน Text Editor ที่ชอบ แล้วเติมโค้ดข้างล่างนี้ลงไป
    html {overflow-y: scroll;}
  5. ปิดแล้วเปิด Firefox ใหม่ ก็จะเห็น Scroll Bar มันขึ้นอยู่ตลอดเวลา้แล้วครับ

แถมอีกนิด เจ้า CSS ข้างบนนี่จับไปใส่ในเว็บก็ได้นะ เป็นการบังคับเว็บเราให้แสดง Scroll Bar ตลอดเช่นกัน ;)

ขอบคุณ: http://snippets.dzone.com/posts/show/217