CSS - โอเวอร์โฟลว์: เลื่อน; - แสดงแถบเลื่อนแนวตั้งทุกครั้งหรือไม่


225

ดังนั้นปัจจุบันฉันมี:

#div {
  position: relative;
  height: 510px;
  overflow-y: scroll;
}

อย่างไรก็ตามฉันไม่เชื่อว่าจะมีผู้ใช้บางคนที่ชัดเจนว่ามีเนื้อหาเพิ่มเติม พวกเขาสามารถเลื่อนหน้าลงโดยไม่ทราบว่า div ของฉันมีเนื้อหามากขึ้น ฉันใช้ความสูง 510px เพื่อตัดข้อความบางส่วนออกไปในบางหน้าดูเหมือนว่ามีเนื้อหามากกว่านี้ แต่มันใช้ไม่ได้กับทุกคน

ฉันใช้ Mac และใน Chrome และ Safari แถบเลื่อนแนวตั้งจะแสดงเฉพาะเมื่อเมาส์อยู่เหนือ Div และคุณเลื่อนอย่างแข็งขัน มีวิธีที่จะแสดงมันเสมอ?


4
อืมคุณช่วยสร้างพฤติกรรมตรงตามนี้บนjsfiddle ได้ไหม? css ที่คุณระบุควรบังคับให้แถบเลื่อนแสดงอยู่ตลอดเวลา
sg3s

1
ใช่ดูเหมือนว่าคุณจะมีนิสัยใจคอ CSS อื่น ๆ เกิดขึ้นสิ่งนี้ควรแสดงแถบเลื่อนเสมอ ตรวจสอบให้แน่ใจว่าการตัดของ div นี้ถูกจัดสไตล์อย่างเหมาะสม
Shawn Steward

ฉันกำลังวิ่ง Lion! อาจจะใช่ไหม ฉันจะเปิดเครื่องเสมือนและดูว่ามันเป็นอย่างไรที่หน้าต่างด้านข้างของสิ่งต่าง ๆ ...
23411 Jambo

1
ประณามฉันไม่ดี! มันเป็นคุณสมบัติใน Lion ฉันควรอ่านสิ่งที่ฉันซื้อก่อนที่จะซื้อ ... ขอบคุณมาก!
Jambo

คำตอบ:


386

เพิ่งพบปัญหานี้ด้วยตัวเอง OSx Lion ซ่อนแถบเลื่อนในขณะที่ไม่ได้ใช้งานเพื่อให้ดูเหมือน "ลื่น" มากขึ้น แต่ในเวลาเดียวกันปัญหาที่คุณพูดถึง: บางครั้งผู้คนไม่สามารถเห็นได้ว่า div มีคุณสมบัติการเลื่อนหรือไม่

การแก้ไข: ใน CSS ของคุณรวมถึง -

::-webkit-scrollbar {
  -webkit-appearance: none;
  width: 7px;
}

::-webkit-scrollbar-thumb {
  border-radius: 4px;
  background-color: rgba(0, 0, 0, .5);
  box-shadow: 0 0 1px rgba(255, 255, 255, .5);
}

ปรับแต่งลักษณะตามที่ต้องการ แหล่ง


6
ควรใช้กับ iPad ด้วย Safari หรือไม่ ฉันอยู่บน iPad 2 ที่ใช้ iOS 6.1.3 และใช้งานไม่ได้
crmpicco

6
มีวิธีที่จะทำให้มันใช้เฉพาะสำหรับชั้นเรียนที่เฉพาะเจาะจงหรือไม่
futbolpal

2
ทำงานสำหรับฉันหลังจากตั้งค่า 'ล้น': อัตโนมัติ 'บนคอนเทนเนอร์ (ในกรณีของฉันคือ <ul>) ขอบคุณ!
Rob Campion

8
@ Futbolpal ใช่ดูเหมือนว่าจะทำงานในชั้นเรียน; ลอง. classname :: - webkit-scrollbar
Chase

4
ฉันจะทำให้มันทำงานในแนวนอนได้อย่างไร? บาร์แสดงขึ้นสำหรับการเลื่อนแนวตั้ง แต่ไม่เลื่อนในแนวนอน
BritishSam

14

โปรดทราบเกี่ยวกับ iPad Safari โซลูชันของ NoviceCoding จะไม่ทำงานหากคุณมี - webkit-overflow-scrolling: touch;บางที่ใน CSS ของคุณ การแก้ปัญหาคือการลบการเกิดขึ้นทั้งหมด-webkit-overflow-scrolling: touch;หรือวาง-webkit-overflow-scrolling: auto;ด้วยโซลูชั่นของ NoviceCoding


3
เป็นไปได้หรือไม่ที่จะมีทั้งใน css ของเรา - webkit-overflow-scrolling: touch และ scrollbars?
Julsy

1

มันจะใช้งานกับ iPad บน Safari บน iOS 7.1.x จากการทดสอบของฉัน แต่ฉันไม่แน่ใจเกี่ยวกับ iOS 6 อย่างไรก็ตามมันจะไม่ทำงานบน Firefox มีปลั๊กอิน jQuery ซึ่งมีวัตถุประสงค์เพื่อเป็นไปตามเบราว์เซอร์ข้ามเรียกว่าเป็นJScrollPane

นอกจากนี้ยังมีโพสต์ซ้ำที่นี่ใน Stack Overflowซึ่งมีรายละเอียดอื่น ๆ


5
โปรดทราบว่าคำถามนี้ถูกถามเมื่อ 2 ปีที่แล้วก่อนที่ iOS6 จะมีอยู่จริง
OGHaza

webkit เป็น Chrome ซาฟารีเท่านั้น คุณจะต้องกำหนดเป้าหมายเฉพาะเครื่องยนต์ Firefox
TigerBear

-4

สิ่งนี้จะทำให้แถบเลื่อนปรากฏขึ้นเสมอเมื่อมีเนื้อหาภายในหน้าต่างที่ต้องเลื่อนเพื่อเข้าถึงมันจะใช้กับหน้าต่างและแอพทั้งหมดใน Mac:

เรียกใช้การตั้งค่าระบบจากเมนู Apple คลิกที่แผงการตั้งค่า“ ทั่วไป” ค้นหา 'แสดงแถบเลื่อน' และเลือก radiobox ถัดจาก "เสมอ" ปิดการตั้งค่าระบบเมื่อเสร็จสิ้น


18
สิ่งนี้จะตอบคำถามเรียงลำดับของ แต่เป็นการแก้ไขฝั่งไคลเอ็นต์แทนที่จะแก้ไขฝั่งเซิร์ฟเวอร์ ดังนั้นมันเป็นสิ่งที่ผู้ใช้เว็บเพจต้องทำ stackoverflow เป็นเว็บไซต์โปรแกรมดังนั้นผู้คนมักจะมาที่นี่เพื่อค้นหาวิธีแก้ไขรหัสแทนที่จะเป็นวิธีให้ผู้ใช้เปลี่ยนการตั้งค่าเบราว์เซอร์
Eric Leschinski
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.