2013-01-06 7 views
18

Le unità CSS nuovo vw (e vh, vmin e vmax) sono molto utili, come è calc. Entrambi funzionano bene in Chrome (quest'ultimo ha il prefisso -webkit-calc), ma per qualche motivo ho riscontrato che i valori delle proprietà calc, incluse le unità v*, come width: -webkit-calc(95vw - 25em), restituiscono un valore di proprietà non valido. Questo non è ancora stato implementato, o la specifica, o un bug?"VW" unità CSS in Calc in Chrome non funzionano

+1

La specifica consente 'vw' in' calc', è ancora utilizzato in un esempio ci: http://www.w3.org/ TR/css3-values ​​/ # calc –

+2

Questo era un bug in Chrome, ma è stato risolto ora –

risposta

23

È un bug, registrato come Bug 94158 - calc non funziona con unità viewport.

+0

Il bug è stato corretto? Devo usarlo, o un'alternativa, e non riesco a trovare un altro modo per farlo ... –

+0

@Samoth Non per quanto ne so. In Chrome 31.0.1650.57 m, mi sono appena imbattuto in questo problema. – Blieque

+0

Corretto, questo bug di Chrome è ancora un bug e al momento non è stato risolto. – runspired

3

È un vecchio bug ed è stato risolto da molto tempo, ma se continui a supportare versioni precedenti di Chrome, e in particolare si incontra questo bug in una versione precedente di cromo in un tablet Android che stai supportando (come era il mio caso), ecco il modo più semplice per aggirare questo bug:

Utilizzare un wrapper che copre la VW che si sta scegliendo, e invece di utilizzare le unità viewport nel calc (...), utilizzare 100%.

html:

<div class="container"> 
    <div class="inner-calc-with-viewport-units-bugged" /> 
</div> 

css:

.container { 
    width: 100vw; //or height: 100vh, depending on your usecase 
} 
.inner-calc-with-viewport-units-bugged { 
    width: calc(100% - XXXXX px); //or height: calc(100% - XXpx); 
}