UPDATE:
Firefox รองรับการซ่อนแถบเลื่อนด้วย CSS ดังนั้นเบราว์เซอร์หลักทั้งหมดจึงได้รับการคุ้มครอง (Chrome, Firefox, Internet Explorer, Safari เป็นต้น)
เพียงใช้ CSS ต่อไปนี้กับองค์ประกอบที่คุณต้องการลบแถบเลื่อนออก:
.container {
overflow-y: scroll;
scrollbar-width: none; /* Firefox */
-ms-overflow-style: none; /* Internet Explorer 10+ */
}
.container::-webkit-scrollbar { /* WebKit */
width: 0;
height: 0;
}
นี่เป็นโซลูชันเบราว์เซอร์ข้ามแฮ็กน้อยที่สุดที่ฉันรู้อยู่ในปัจจุบัน ตรวจสอบตัวอย่าง
คำตอบเดิม:
นี่เป็นอีกวิธีที่ยังไม่ได้กล่าวถึง มันง่ายมากและมีเพียงแค่สอง divs และ CSS เท่านั้น ไม่จำเป็นต้องใช้ JavaScript หรือ CSS ที่เป็นกรรมสิทธิ์และสามารถใช้ได้กับทุกเบราว์เซอร์ ไม่จำเป็นต้องตั้งค่าความกว้างของภาชนะอย่างชัดเจนจึงทำให้เป็นของเหลว
วิธีนี้ใช้ระยะขอบติดลบเพื่อย้ายแถบเลื่อนออกจากพาเรนต์จากนั้นใช้ระยะห่างเท่ากันเพื่อดันเนื้อหากลับไปที่ตำแหน่งเดิม เทคนิคนี้ใช้ได้กับการเลื่อนแนวตั้งแนวนอนและสองทิศทาง
สาธิตการใช้งาน:
โค้ดตัวอย่างสำหรับรุ่นแนวตั้ง:
HTML:
<div class="parent">
<div class="child">
Your content.
</div>
</div>
CSS:
.parent {
width: 400px;
height: 200px;
border: 1px solid #AAA;
overflow: hidden;
}
.child {
height: 100%;
margin-right: -50px; /* Maximum width of scrollbar */
padding-right: 50px; /* Maximum width of scrollbar */
overflow-y: scroll;
}
!important
ดังนั้นฉันจึงลบออกทั้งหมด: jsfiddle.net/5GCsJ/954