2011-12-17 4 views
24

Sul mio sito web ho bisogno di utilizzare la proprietà css overflow: overlay per un <div>.Overflow: l'overlay non funziona in firefox

Tuttavia, non è il rendering nel browser e un'ispezione del css in firebug mostra che non è nemmeno lì, ma è come funziona in Chrome. Non ho provato il safari.

Cosa devo modificare per far funzionare la proprietà css overflow: overlay?

Grazie

+0

Intendi "overflow: visible'? –

risposta

31

valori possibili per troppo pieno sono:

visible 
hidden 
auto 
scroll 

Vedi here o here per una discussione di questi.

L'utilizzo di qualsiasi altro valore in browser diversi produrrà risultati imprevedibili poiché gestiscono il valore errato in modo diverso.

Modifica: dopo il commento, sono riuscito a trovare la menzione di overflow: overlay here.

sovrapposizione è descritto come:

contenuto viene ritagliato e vengono aggiunti, se necessario, le barre di scorrimento.

Inoltre, si dice che funzioni solo in Safari o Chrome (es. WebKit).

This item su WebKit Bugzilla suggeriscono che non è lungo per questo mondo, in ogni caso:

WebKit attualmente ha un valore di overflow CSS proprietario chiamato "overlay", che è senza documenti e, per quanto posso dire dalla lettura il codice funziona esattamente come "auto".

Dovremmo rimuoverlo o rinominarlo in "-webkit-overlay".

Aggiornamento marzo 2016

Sembra overflow: overlay non è andato via. Ci sono segni che lavori negli standard.

La differenza tra overlay e auto sarebbe solo che le barre di scorrimento sarebbero state visualizzate nella parte superiore del contenuto della pagina e non avrebbero causato uno spazio di layout.

Vedere here for the discussion.

+0

La sovrapposizione funziona come Auto. (le barre di scorrimento vengono aggiunte quando necessario) –

+48

C'è una differenza, tuttavia: con 'auto', la barra di scorrimento viene aggiunta sotto l'elemento su x-overflow. Con 'overlay', viene aggiunto all'interno dell'elemento! Ciò significa che non viene eseguita alcuna schermata aggiuntiva, ma il testo all'interno dell'elemento stesso è ostruito dalla barra di scorrimento. È una differenza sottile, ma utile. Testato su Chromium. – ypnos

+2

"overflow: overlay" non è uguale a "overflow: auto".Nel caso in cui stili la barra di scorrimento dandogli una certa larghezza, entrambe le proprietà hanno effetti diversi. In caso di sovrapposizione, la barra di scorrimento non spinge il contenuto in alcun modo in quanto fluttua sopra il contenuto e non si trova nel normale flusso di documenti. Ma in caso di "overflow: auto", la barra di scorrimento occupa una certa larghezza (come specificato da te) e spinge il contenuto proprio come farebbe qualsiasi elemento di flusso. – maverick