2012-07-04 14 views

risposta

15

Questo è l'unico CSS si ned forzare le barre di scorrimento:

html{ 
    overflow-y: scroll; 
} 

Le barre di scorrimento verrà disabilitata se il contenuto è più piccola della finestra, quindi si dovrà utilizzare alcuni script per ridimensionare il corpo per essere almeno 1px meno l'altezza della finestra: [? Basta disattivare scorrimento lo nasconde]

$("body").css({ "height" : ($(window).height() - 1) + 'px', "overflow": "hidden" }); 
+0

Questo funziona davvero bene. Tuttavia, invece di usare JS per definire l'altezza del corpo, trovo più pulito andare con css. Con un po 'di gioco, ho trovato due opzioni: Posizione di applicazione: fissa; al tag html, insieme a overflow-y: scroll; Oppure, se si utilizza un framework che aggiunge già overflow: hidden, al tag del proprio corpo (presumo che la maggior parte delle persone abbia cercato questo problema, l'overflow: hidden; sul corpo), si potrebbe definire l'altezza del corpo con 100vh . Non dimenticare di rimuovere quegli stili quando modale è chiuso. – mizurnix

+0

Buona presa. Spingi ad aggiungere la tua risposta, in modo da poterla sospendere. – rcdmk

+0

Grazie, ma non ho ancora finito con la mia soluzione :) Sto provando ad applicarlo a una pagina molto lunga quindi la maggior parte delle volte gli utenti prima scorreranno e poi apriranno modale e tutte le mie opzioni faranno in modo che la barra di scorrimento sia ancora attiva o scorri l'utente in alto e quindi disattivare la barra di scorrimento. Ho verificato cosa fa Facebook e usano la posizione corretta più l'aggiunta di top: pixel xxxxx (in base a quanto hai già fatto scorrere) sul content wrapper (non il corpo nel loro caso). Quando ho finito, potrei aggiungerlo come risposta – mizurnix

-4
overflow-y: scroll; 

Questo dovrebbe essere quello che stai cercando.

+0

non ** disabiliterà ** la barra di scorrimento –

+0

che mostra sempre la barra di scorrimento sempre, ma non disabilita lo scorrimento, vero? –

+0

Oh, pensavo che volessi lasciare la barra di scorrimento anche se non c'era abbastanza contenuto nella pagina. Come si desidera scorrere se il contenuto è più grande della schermata del browser? – Chad

Problemi correlati