2011-10-26 11 views
8

Sto riscontrando un problema durante lo sviluppo di una pagina web.overflow-x: visibile; overflow-y: auto; non funziona - questo standard è conforme?

Né Firefox o Internet Explorer presenterà il comportamento che mi aspetto per il seguente frammento di codice:

<div 
    style="overflow-x: visible; overflow-y: auto; width: 200px; height: 200px; border: 1px solid #F00;"> 
    <div style="width: 300px; height: 300px; background-color: #0F0;">&nbsp;</div> 
</div> 

quello che mi aspetterei sarebbe quello di essere in grado di vedere il contenuto che trabocca sul lato x del contenitore div, ma non il contenuto che trabocca sul fondo (con una barra di scorrimento per vedere di più). Invece, quello che vedo è una barra di scorrimento x e una barra di scorrimento y.

Nota: un'ispezione delle proprietà di stile calcolate in firebug rivela che firefox utilizza overflow-x: auto; per il contenitore.

È previsto questo comportamento? Capisco che vi sia qualche ambiguità sulla richiesta di inserire una barra di scorrimento sul mio contenuto (ad esempio che il mio contenuto orizzontale oltrepasserebbe la barra di scorrimento verticale, in modo che avrebbe dovuto coprire parte del contenuto).

Quindi il comportamento che sto riscontrando è conforme agli standard?

risposta

18

Beh, io sia dannato, ho deciso di controllare quello che i CSS (3) spec aveva da dire su questo, e it dice:

I valori calcolati di 'overflow-x' e 'overflow- y 'sono uguali a i loro valori specificati, tranne che alcune combinazioni con' visible ' non sono possibili: se uno è specificato come' visible 'e l'altro è ' scroll 'o' auto ', quindi' visible 'è impostato su 'auto'.

Quindi, in breve, sì, quello che stavo vivendo era interamente il comportamento previsto.

Fonte: CSS basic box model W3C Working Draft 9 August 2007 (subito dopo l'esempio)

+3

che ha senso per me; come si può usare la barra di scorrimento se c'è del contenuto che trabocca su di essa? – joshnh

+0

Ho lo stesso problema e uso i callout a sinistra del mio contenitore per mostrare i messaggi di errore. Non sarebbero nel modo della barra di scorrimento verticale se mi fosse stato permesso di farlo ... –

Problemi correlati