Come posso aggiungere automaticamente una barra di scorrimento verticale al mio div?


110

Voglio aggiungere una barra di scorrimento verticale al mio file <div>. Ho provato overflow: auto, ma non funziona. Ho testato il mio codice in Firefox e Chrome.

Sto incollando il codice di stile div qui:

float: left;
width: 1000px;
overflow: auto;

un jsfiddle o più css con il tuo markup
Ritabrata Gautam

12
Prova questo: overflow-y:scrolle un po 'di altezza . Passa attraverso questi documenti .
Mr_Green

Grazie Mr_Green per la tua risposta. Ma questo codice non funziona per me.
Jay

Per far funzionare lo scorrimento, il contenuto interno dovrebbe traboccare .
Mr_Green

Pubblica qui il tuo codice html e css.
Mr_Green

Risposte:


145

È necessario assegnare un'altezza per far funzionare la overflow: auto;proprietà.
A scopo di test, aggiungi height: 100px;e seleziona.
e inoltre sarà meglio se dai overflow-y:auto;invece di overflow: auto;, perché questo fa sì che l'elemento scorra solo in verticale ma non in orizzontale.

float:left;
width:1000px;
overflow-y: auto;
height: 100px;

Se non conosci l'altezza del contenitore e desideri mostrare la barra di scorrimento verticale quando il contenitore raggiunge un'altezza fissa 100px, usa max-heightinvece di heightproprietà.

Per ulteriori informazioni, leggi questo articolo MDN .


Sì, ho capito e testato, funziona bene in Chrome ma non in FireFox. Un'altra cosa che confonde è la barra di scorrimento verticale che appare sul tempo di caricamento della pagina in FF ma scompare quando il caricamento della pagina è completato!
Jay

"Devi assegnare un po 'di altezza" esattamente il mio problema, grazie! : P
Wagner da Silva

51

Devi aggiungere max-heightproprietà.

.ScrollStyle
{
    max-height: 150px;
    overflow-y: scroll;
}
<div class="ScrollStyle">
  Scrollbar Test!<br/>
  Scrollbar Test!<br/>
  Scrollbar Test!<br/>
  Scrollbar Test!<br/>
  Scrollbar Test!<br/>
  Scrollbar Test!<br/>
  Scrollbar Test!<br/>
  Scrollbar Test!<br/>
  Scrollbar Test!<br/>
  Scrollbar Test!<br/>
</div>


20

Puoi impostare:

overflow-y: scroll;height: XX px

2
questo è stato suggerito da risposte precedenti.
UmNyobe

14

Ho un fantastico scroller sul mio div-popup. Per applicare, aggiungi questo stile al tuo elemento div:

overflow-y: scroll;
height: XXXpx;

Quello heightche specifichi sarà l'altezza del div e una volta che hai dei contenuti che superano questa altezza, devi scorrerlo.

Grazie.


13

Per mostrare la barra di scorrimento verticale nel tuo div devi aggiungere

height: 100px;   
overflow-y : scroll;

o

height: 100px; 
overflow-y : auto;

10

Non sono abbastanza sicuro per cosa stai tentando di utilizzare il div, ma questo è un esempio con del testo casuale.

Mr_Green ha dato le istruzioni corrette quando ha detto di aggiungere in overflow-y: autoquanto ciò limita lo scorrimento verticale. Questo è un esempio JSFiddle:

JSFiddle


Prima di tutto @Mr_Green il tuo suggerimento funziona bene in Chrome ma non in FF. E c'è qualche alternativa all'aggiunta di Altezza, perché non posso aggiungere Altezza al mio Div per la mia struttura di progetto.
Jay

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.