2013-10-06 15 views
7

Come è possibile impedire che il corpo della pagina venga "spinto" a sinistra quando viene visualizzata una barra di scorrimento a causa del contenuto di un jax? Ovviamente posso impostare l'overflow: scorrere fino al corpo, ma non sarebbe bello.Prevenzione del relayout a causa della barra di scorrimento

Sto utilizzando il bootstrap, ma suppongo che sia una domanda generale.

+0

contenuto del corpo viene spinto ?? Non chiaro. Sii più preciso. Non penso che ci sia una cosa chiamata essere spinta via. Potrebbe essere a causa del tuo markup o stili. Metti qualcosa per il debug. Fiddle please –

+2

La pagina originariamente non ha la barra di scorrimento. Quindi ajax aggiunge più contenuti e viene visualizzata la barra di scorrimento. Per tenere conto della larghezza della barra di scorrimento, il corpo originale viene "spinto". Vedo che questo accade in Chrome e Firefox. Metterò un violino più tardi se non ci sono altre risposte. – Dionysian

+0

Intendo dire che la barra di scorrimento è di dimensione 10px. Questo non ti influenzerà drasticamente. Turno irrilevante ryt. Non è possibile gestire questo problema senza specificare l'overflow: scorrere. Altrimenti devi andare per una barra di scorrimento personalizzata con z-index. –

risposta

6

È possibile creare un contenitore che ha una larghezza fissa, e dare il contenuto della stessa larghezza (larghezza statica stesso - non 100%). in questo modo, quando il contenuto supera il genitore, lo scroll non sposterà il contenuto ma scorrerà sopra di esso.

utilizzando questo, è possibile applicare un modo interessante per scorrere senza premere nulla. mostrando lo scroll solo quando si passa il mouse sul contenitore.

Partenza questa semplice Demo

EDIT: Here mi mostrano la differenza tra l'impostazione di larghezza statica e%.

+0

Questo è nuovo per me e sembra promettente. Molte grazie! – Dionysian

+0

@ user2643506 Se funziona per te, dovresti accettarlo come risposta corretta. – avrahamcool

1

Bene, la barra di scorrimento spinge sempre i tuoi contenuti da parte, non c'è davvero nulla che tu possa fare al riguardo. Che cosa si può fare è quello di mostrare sempre a scrollbar per esempio:

html,body { 
    height:101%; 
} 

o

html { 
    overflow-y: scroll; 
} 
Problemi correlati