วิธีปรับแต่ง Scrollbar ด้วย CSS: คู่มือฉบับสมบูรณ์พร้อม CSS Scrollbar Generator
เรียนรู้วิธีทำ custom scrollbar ด้วย CSS ผ่าน scrollbar-width, scrollbar-color และ ::-webkit-scrollbar ด้วย CSS Scrollbar Generator ฟรีจาก Online Tools Forge
เครื่องมือออนไลน์ฟรี
ตัวสร้าง CSS Scrollbar
ออกแบบ scrollbar แบบกำหนดเองด้วย CSS แบบเห็นภาพ ปรับ scrollbar-width, scrollbar-color และ ::-webkit-scrollbar พร้อมพรีวิวสด แล้วคัดลอก CSS พร้อมใช้งานได้ทันที
Table of Contents
Scrollbar เป็นหนึ่งใน UI element ที่เราเห็นทุกวันแต่มักถูกมองข้าม ค่า default ของ browser แต่ละตัวไม่เคย match กับ design ของเราเลย ทำให้ website ที่ปรับแต่งมาอย่างดีกับ typography สี และ spacing พร้อมสรรพ กลับมี scrollbar สีเทาหนา ๆ โผล่มาทำลายบรรยากาศทั้งหมด โชคดีที่ CSS ยุคใหม่อนุญาตให้เราปรับแต่ง scrollbar ได้อย่างอิสระ ทั้งด้วย property มาตรฐานอย่าง scrollbar-width และ scrollbar-color และ pseudo-element ตระกูล ::-webkit-scrollbar สำหรับ browser ที่ยังต้องใช้วิธีเดิม
ในบทความนี้เราจะพาคุณไปรู้จักกับ CSS Scrollbar Generator เครื่องมือฟรีจาก Online Tools Forge ที่ช่วยให้คุณสร้าง custom scrollbar ได้โดยไม่ต้องเขียนโค้ดเอง เพียงเลือกค่าและสีที่ต้องการ ดูผลลัพธ์ผ่าน live preview แล้วกด copy CSS ไปใช้ได้ทันที ไม่ต้องสมัครสมาชิก ไม่ต้องติดตั้งอะไร และทำงาน 100% บน browser ของคุณ ไม่มีข้อมูลถูกส่งออกไปไหนเลย
ไม่ว่าคุณจะเป็น front-end developer ที่ต้องการความเร็วในการทำงาน นักออกแบบที่อยากคุมทุก pixel หรือมือใหม่ที่เพิ่งเริ่มเรียนรู้ CSS คู่มือนี้จะพาคุณไปตั้งแต่พื้นฐาน syntax ไปจนถึง use case จริงในโปรเจกต์ พร้อม best practices เพื่อให้ scrollbar ที่ปรับแต่งแล้วสวยและใช้งานได้จริงทุก browser
ทำไมต้องใช้ CSS Scrollbar Generator
-
Live preview แบบ real-time — ทุกการเปลี่ยนค่า ไม่ว่าจะเป็นสี ขนาด หรือ border radius แสดงผลทันทีในหน้าจอ คุณเห็น scrollbar หน้าตาเป็นอย่างไรจริง ๆ ก่อนเอาโค้ดไปใช้ ไม่ต้องเดาหรือต้อง save-reload ซ้ำไปซ้ำมาเหมือนเขียนมือ
-
CSS พร้อม copy ไม่มีที่ติ — โค้ดที่ได้จัดรูปแบบเรียบร้อย มีทั้ง property มาตรฐานและ WebKit block ครบชุด กดปุ่ม copy ครั้งเดียวก็เอาไปวางใน stylesheet ได้เลย ไม่ต้องไล่แก้ค่า hex ทีละบรรทัด
-
รองรับ browser ครบทุกตัว — เครื่องมือสร้าง CSS ให้สองชั้น คือ property มาตรฐานสำหรับ Firefox และ Chromium ยุคใหม่ และ ::-webkit-scrollbar block สำหรับ Chrome, Safari, Edge รุ่นเก่า ทำให้ผลลัพธ์ดูเหมือนกันในทุก browser โดยไม่ต้องเขียน fallback เอง
-
ทำงาน client-side ทั้งหมด — ทุกอย่างประมวลผลบน browser ของคุณ ไม่มีการส่งค่าที่คุณปรับไปที่ server ใด ๆ ทั้งสิ้น เป็นความเป็นส่วนตัวแบบ built-in
-
ควบคุมครบทุกจุด — ตั้งแต่ scrollbar-width (auto, thin, none) สีของ thumb, track และ hover ไปจนถึงขนาดเป็น px และมุมโค้ง ไม่มีค่าใดถูกล็อกไว้ ทุกอย่างปรับได้ตามใจ
-
ปุ่ม reset กลับค่าเดิม — ทดลองกล้า ๆ ไม่ต้องกลัวเพราะพลาดตอนไหนก็กด reset กลับไปที่ค่า default ได้เสมอ
ฟีเจอร์เด่น
| ฟีเจอร์ | รายละเอียด |
|---|---|
| scrollbar-width selector | เลือกระหว่าง auto, thin และ none (ซ่อน scrollbar แต่ยัง scroll ได้) ด้วย property มาตรฐานใหม่ |
| scrollbar-color แยกสามค่า | Hex color picker แยกสำหรับ thumb (default #6366f1), track (default #e2e8f0) และ hover (default #4338ca) หากใส่ hex ที่ไม่ถูกต้องจะ fallback อย่างปลอดภัย |
| WebKit block เปิด/ปิดได้ | สร้าง ::-webkit-scrollbar, ::-webkit-scrollbar-track, ::-webkit-scrollbar-thumb และ :hover สำหรับ Chrome, Safari, Edge รุ่นเก่า พร้อมปรับขนาดเป็น px (default 8px) |
| Border radius | ปรับมุมโค้งของ thumb ได้ (default 4px) ให้ scrollbar ดู soft และ modern |
| Live preview | เห็นผลลัพธ์ real-time ขณะปรับแต่ง พร้อม CSS ที่ copy ไปใช้ได้ทันที |
| ปุ่ม reset | คืนค่าทุกอย่างกลับสู่ default ด้วยคลิกเดียว |
-
การออกแบบให้ thumb, track และ hover แยกเป็นคนละช่องคือหัวใจของเครื่องมือนี้ เพราะ hover state คือสิ่งที่ทำให้ scrollbar รู้สึกมีชีวิตและ interactive มากกว่า default ที่นิ่งสนิท
-
การที่ WebKit block เปิดปิดได้ทำให้คุณเลือกได้ว่าจะส่งออกเฉพาะ property มาตรฐานสำหรับ codebase สมัยใหม่ หรือรวม fallback สำหรับ browser เก่าด้วย ทำให้โค้ดที่ได้ตรงกับ browser support policy ของโปรเจกต์จริง ๆ
-
ทุก input มีการตรวจความถูกต้องของ hex อยู่ในตัว ถ้าใส่ค่าผิดรูปแบบ เครื่องมือจะใช้ค่า fallback แทนที่จะสร้าง CSS เสีย คุณจึงไม่มีทางได้โค้ดที่ render ไม่ได้ออกมา
วิธีใช้งาน
-
เปิดหน้า CSS Scrollbar Generator — ไปที่ CSS Scrollbar Generator บน browser ของคุณ ไม่ต้องสมัครหรือล็อกอิน เครื่องมือโหลดขึ้นมาพร้อมใช้งานทันที
-
เลือก scrollbar-width — เลือก auto หากต้องการขนาดปกติของระบบ, thin หากต้องการ scrollbar บางแบบ minimal หรือ none หากต้องการซ่อน scrollbar ทั้งหมด (แต่ผู้ใช้ยัง scroll ได้เหมือนเดิม)
-
ตั้งค่าสีด้วย color picker — เลือกสี thumb, track และ hover จากแต่ละช่อง หรือพิมพ์ค่า hex เองได้ เช่น #6366f1 สำหรับ thumb โทน indigo ระบบจะตรวจค่าให้อัตโนมัติ หากไม่ถูกต้องจะใช้ค่าที่ปลอดภัยแทน
-
ปรับ WebKit block และ border radius — เปิดใช้ WebKit block หากต้องการรองรับ Chrome, Safari และ Edge รุ่นเก่า จากนั้นตั้งความกว้างเป็น px (default 8px) และปรับ border radius ให้ thumb มีมุมโค้ง (default 4px)
-
ดู live preview แล้ว copy CSS — เมื่อผลลัพธ์ในหน้า preview ถูกใจแล้ว กดปุ่ม copy แล้วนำ CSS ไปวางใน stylesheet หรือ CSS-in-JS ของคุณได้เลย ต้องย้อนลุยใหม่ก็กด reset กลับค่าเดิม
เข้าใจการปรับแต่ง Scrollbar ด้วย CSS
การปรับแต่ง scrollbar ใน CSS ยุคปัจจุบันมีสองแนวทางหลักที่ต้องรู้จัก คือ property มาตรฐานและ WebKit pseudo-element ลองมาไล่ดูทีละส่วน
scrollbar-width — ควบคุมความหนา
Property มาตรฐานใหม่ที่รับค่าได้สามค่า:
- auto — ใช้ความหนา default ของ platform ส่วนใหญ่คือหนาปกติที่เราคุ้นเคย
- thin — scrollbar บางแบบที่ browser เองใช้ใน UI ภายใน เหมาะกับ design แบบ minimal ที่ต้องการเน้นเนื้อหามากกว่า chrome ของหน้า
- none — ซ่อน scrollbar ทั้งเส้นแต่พื้นที่ยัง scroll ได้ตามปกติ เป็นวิธี "ซ่อนแต่ไม่งด" ที่นิยมใช้กับ carousel หรือ horizontal feed
scrollbar-color — ไวยากรณ์สองค่า
Property นี้ใช้ไวยากรณ์สองค่า คั่นด้วยช่องว่าง โดยค่าแรกคือสีของ thumb (ส่วนที่ลากได้) และค่าที่สองคือสีของ track (ร่องที่ thumb เลื่อนไปมา):
scrollbar-color: #6366f1 #e2e8f0; /* thumb track */
ส่วนสีตอน hover ไม่ได้เป็นส่วนของ property นี้ใน Firefox แต่เครื่องมือของเราจะนำไปใส่ใน WebKit block ให้ผู้ใช้ browser ที่รองรับได้ hover effect ที่สมบูรณ์แบบเช่นกัน
ตระกูล ::-webkit-scrollbar
สำหรับ browser ตระกูล WebKit และ Blink รุ่นเก่า (Chrome, Safari, Edge ก่อนเป็น Chromium) การปรับแต่งทำผ่าน pseudo-element ที่ target แต่ละส่วนของ scrollbar แยกกัน ได้แก่ ::-webkit-scrollbar (ตัวถังหลักและความกว้าง), ::-webkit-scrollbar-track (ร่อง) และ ::-webkit-scrollbar-thumb (ตัวลาก) โดยสามารถเพิ่ม :hover ต่อท้าย thumb เพื่อเปลี่ยนสีเมื่อชี้เมาส์ได้
ตัวอย่างโค้ดที่สมบูรณ์
นี่คือตัวอย่าง CSS ที่ได้จากเครื่องมือโดยใช้ค่า default สังเกตว่ามีทั้ง property มาตรฐานและ WebKit block อยู่ด้วยกันเพื่อให้ครอบคลุมทุก browser:
/* Standard properties — Firefox และ Chromium ยุคใหม่ */
.scroll-container {
scrollbar-width: thin;
scrollbar-color: #6366f1 #e2e8f0;
}
/* WebKit fallback — Chrome, Safari, Edge รุ่นเก่า */
.scroll-container::-webkit-scrollbar {
width: 8px;
}
.scroll-container::-webkit-scrollbar-track {
background: #e2e8f0;
}
.scroll-container::-webkit-scrollbar-thumb {
background: #6366f1;
border-radius: 4px;
}
.scroll-container::-webkit-scrollbar-thumb:hover {
background: #4338ca;
}
สถานการณ์ browser support ที่ควรรู้
- Firefox รองรับ property มาตรฐาน scrollbar-width และ scrollbar-color มานานแล้ว และไม่รองรับ ::-webkit-scrollbar เลย ดังนั้น property มาตรฐานจึงเป็นทางเดียวสำหรับ Firefox
- Chromium ยุคใหม่ (Chrome, Edge รุ่นใหม่) ได้เพิ่มการรองรับ property มาตรฐานแล้ว ทำให้เขียนโค้ดสั้นลงเรื่อย ๆ
- Chrome, Safari, Edge รุ่นเก่า ยังต้องใช้ WebKit block เท่านั้น นี่คือเหตุผลที่กลยุทธ์ที่ดีที่สุดคือเขียน property มาตรฐานเป็นหลัก แล้ววาง WebKit block ต่อท้ายเป็น fallback — generator ของเราสร้างโครงสร้างนี้ให้อัตโนมัติ
Use Cases ในทางปฏิบัติ
Dashboard ธีม dark-mode
Dashboard ที่มีหลาย panel เลื่อนได้พร้อมกัน (เช่น sidebar, ตารางข้อมูล, activity feed) มักโดน scrollbar สีขาวเทาสว่างของระบบตัดกับพื้นหลัง dark-mode อย่างรุนแรง วิธีแก้คือตั้ง track ให้กลืนกับพื้นหลัง เช่น #1e293b และ thumb สีโทน accent เช่น #6366f1 พร้อม border radius เยอะ ๆ ให้ดูอ่อนโยน ผลลัพธ์คือ scrollbar ที่กลืนไปกับธีมจนแทบมองไม่เห็นเมื่อไม่ได้ใช้ แต่โดดออกมาชัดเจนเมื่อผู้ใช้ต้องการเลื่อนดูข้อมูล
UI chat และ feed แบบ minimal
แอป chat หรือ social feed ที่เน้นความเรียบง่ายมักเลือก scrollbar-width: thin เพื่อไม่ให้ scrollbar กินพื้นที่และสายตาจากข้อความหรือรูปภาพ ประกอบกับ track โปร่งหรือสีเดียวกับพื้นหลังเป๊ะ ๆ thumb ก็จะลอยขึ้นมาเฉพาะตอนที่มีการ scroll เท่านั้น เป็นลุคแบบเดียวกับ messaging app ชั้นนำที่เราคุ้นเคย
ซ่อน scrollbar แต่ยัง scroll ได้
carousel รูปภาพ, horizontal card list หรือ full-page section ที่ scroll-snap บางครั้งต้องการความสะอาดสุดขีดโดยไม่มี scrollbar ขวางสายตาเลย การเลือก scrollbar-width: none จะซ่อน scrollbar ทั้งเส้นแต่คงการ scroll ไว้เต็มรูปแบบ — เลื่อนด้วย touch, wheel หรือ keyboard ได้ตามปกติ ใช้กับตัวเลือกนี้อย่างระมัดระวังเพราะผู้ใช้จะไม่เห็นสัญญาณว่ามีเนื้อหาเพิ่มเติมให้ scroll (ดู best practices ด้านล่าง)
Design system ที่ match กับแบรนด์
หากทีมของคุณมี design system ที่กำหนด brand colors ไว้ชัดเจน scrollbar ก็ควรอยู่ในระบบเดียวกัน ใช้ brand color เป็น thumb, สีพื้นผิวเป็น track และสี brand ที่เข้มกว่าเป็น hover state แล้ว export CSS จาก generator ไปใส่ไว้ใน shared stylesheet ของ design system เพียงครั้งเดียว ทุก product ที่ใช้ระบบเดียวกันก็จะได้ scrollbar ที่ consistent และ on-brand โดยอัตโนมัติ
Best Practices
-
อย่าเอา scroll affordance ออกโดยไม่จำเป็น — scrollbar คือสัญญาณบอกผู้ใช้ว่า "มีเนื้อหาเพิ่มเติมด้านล่าง" การซ่อนมันทิ้งด้วย scrollbar-width: none ควรทำเฉพาะจุดที่มี cue อื่นชี้บอกอยู่แล้ว เช่น รูปที่โผล่มาเฉียง ๆ หรือลูกศรบอกว่าเลื่อนต่อได้ มิฉะนั้นผู้ใช้อาจไม่รู้เลยว่ามีเนื้อหาให้เลื่อนดู
-
รักษา contrast เพื่อ accessibility — thumb ต้องเห็นต่างจาก track ชัดเจนพอสำหรับผู้ใช้ทั่วไปและผู้ที่มี low vision หาก thumb กับ track สีใกล้กันเกินไป scrollbar จะหายไปกับพื้นหลังและผู้ใช้จะหาตัวลากไม่เจอ
-
thin ดีกว่า hidden — เมื่อลังเลว่าจะบางหรือซ่อน thin มักเป็นคำตอบที่ดีกว่าเสมอ เพราะยังคง affordance ไว้ให้ผู้ใช้เห็นว่า scroll ได้ โดยไม่รบกวนดีไซน์เท่ากับการซ่อนไปเลย
-
ทดสอบทั้ง light และ dark mode — สี thumb ที่เด่นสวยบนพื้นขาวอาจกลืนหายไปเลยบนพื้นดำ หากเว็บคุณรองรับ theme ทั้งสองแบบ ให้ export CSS สองชุดแล้วสลับด้วย CSS variables หรือ media query prefers-color-scheme
-
ใช้ property มาตรฐานเป็นหลัก และ WebKit block เป็น fallback — วาง scrollbar-width และ scrollbar-color ไว้ก่อนเสมอ แล้วค่อยตามด้วย ::-webkit-scrollbar block ทีหลัง เพื่อให้ browser ที่รองรับมาตรฐานใช้โค้ดใหม่ ส่วนตัวเก่า fallback ไปที่ WebKit อย่างถูกต้อง
-
อย่าลืม hover state — การเปลี่ยนสี thumb ตอน hover เป็นรายละเอียดเล็ก ๆ ที่สื่อว่า element นี้ interactive และช่วยให้การกำหนดเป้าเพื่อ grab thumb ง่ายขึ้น generator ของเรามีช่อง hover ให้ตั้งแยกตั้งแต่แรกแล้ว
เริ่มปรับแต่ง Scrollbar วันนี้
Scrollbar เป็นโอกาสที่หลายคนมองข้าม ไม่กี่นาทีกับการเลือกสีและความโค้งให้เข้ากับธีมของคุณสามารถเปลี่ยนความรู้สึกของหน้าเว็บทั้งหน้าได้ ตั้งแต่ dashboard ที่ดูเป็นมืออาชีพไปจนถึง feed ที่เรียบหรูไม่มีสิ่งแปลกปลอมกวนสายตา
ลองเปิด CSS Scrollbar Generator แล้วเริ่มจากค่า default ที่ให้มา จากนั้นค่อย ๆ ปรับสี thumb ให้เข้ากับ accent color ของเว็บคุณ ลองสลับระหว่าง thin กับ auto ใน live preview แล้วดูว่าแบบไหนเข้ากับ layout ของคุณกว่า เมื่อได้แบบที่ชอบแล้วกด copy แล้ววางลงใน stylesheet — เสร็จในไม่ถึงห้านาทีไม่ต้องเขียนโค้ดแม้แต่บรรทัดเดียว
เครื่องมือที่เกี่ยวข้อง:
หากคุณชอบการปรับแต่ง CSS ด้วย visual tools ลองดูเครื่องมือพี่น้องของเรา:
-
CSS Grid Generator — สร้าง grid layout ที่ซับซ้อนได้ด้วยการคลิกแล้ว copy CSS พร้อมรองรับ gap, columns และ areas ให้คุณออกแบบ layout ได้โดยไม่ต้องนั่งนับคอลัมน์ในหัว
-
CSS Transform Generator — เล่นกับ rotate, scale, translate และ skew แบบเรียลไทม์เพื่อสร้าง transform chain ที่ซับซ้อนพร้อม CSS ที่พร้อมใช้งานทันที
-
CSS Animation Generator — ปรับ keyframes, timing function และ iteration ด้วย preview แบบเรียลไทม์ เหมาะสำหรับสร้าง micro-interaction ที่ทำให้ UI ของคุณมีชีวิตชีวา
ขอให้สนุกกับการปรับแต่ง!