ฉันจะทำให้แถบเลื่อนบน div สามารถมองเห็นได้เฉพาะเมื่อจำเป็นเท่านั้น


151

ฉันมี div นี้:

<div style='overflow:scroll; width:400px;height:400px;'>here is some text</div>

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


เกี่ยวกับสิ่งนี้ แสดงเฉพาะแถบเลื่อนเมื่อโฮเวอร์เหนือ ไม่แน่ใจว่าสิ่งนี้มีประโยชน์สำหรับคุณหรือไม่ stackoverflow.com/questions/7125185/…
Ryan Beaulieu

codepen.io/anon/pen/QwLeMGหวังว่านี่จะช่วยคุณได้
vishalkin

overflow: auto;ไม่ทำงานบน Android :-(
aioobe

คำตอบ:


313

overflow: autoใช้ แถบเลื่อนจะปรากฏขึ้นเมื่อจำเป็นเท่านั้น

(Sidenote คุณสามารถระบุได้เฉพาะแถบเลื่อน x หรือ y เท่านั้นoverflow-x: autoและoverflow-y: auto)


5
โปรดทราบว่า overflow-y ใช้งานได้เฉพาะเมื่อคุณระบุmax-height
Black

1
overflow-y ไม่ต้องการความสูงสูงสุด ฉันไม่เคยใช้ความสูงสูงสุดกับ overflow-y และใช้งานได้ทุกครั้ง
Sumafu

1
@Sumafu คุณอาจจำเป็นต้องใช้มันแล้วแต่กรณีเพราะฉันสามารถสัมผัสได้แล้วตอนนี้
เดวิด

1
คุณจะต้องheightหรือmax-heightตั้งค่าหากคุณใช้absoluteหรือfixedวางตำแหน่งในองค์ประกอบที่มากเกินไปเนื่องจากสิ่งเหล่านี้ป้องกันไม่ให้องค์ประกอบปรับขนาดตามขอบเขตของหน้าหรือวิวพอร์ต
Scott Schupbach




0

ฉันพบว่า div ส่วนสูงยังคงแสดงเมื่อมีข้อความหรือไม่ ดังนั้นคุณสามารถใช้สิ่งนี้เพื่อผลลัพธ์ที่ดีที่สุด

<div style=" overflow:auto;max-height:300px; max-width:300px;"></div>

0

คุณสามารถลองหนึ่งรายการด้านล่าง:

  <div style="width: 100%; height: 100%; overflow-x: visible; overflow-y: scroll;">Text</div>
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.