element1 {
height: calc(100% - 50px);
-webkit-transition: .5s;
-moz-transition: .5s;
-ms-transition: .5s;
-o-transition: .5s;
transition: .5s;
}
element1:hover {
height: calc(100% - 200px);
}
Se si sostituisce la calc nella proprietà altezza px
o %
, la transizione funziona bene, ma con il calc
, va solo da un'altezza all'altro senza transizione.Come posso far funzionare la proprietà di transizione in IE usando le proprietà calc?
In altri browser che funziona bene, il problema è solo in IE
L'aggiunta del codice e JSFiddle example simile alla mia situazione reale.
div{
position: fixed;
right: 0;
width: 250px;
height: calc(100% - 200px);
background: #1c8080;
top: 158px;
color: #fff;
text-align: center;
padding-top: 40px;
font-size: 18px;
border: 1px solid #000;
-webkit-transition: all .3s;
-moz-transition: all .3s;
transition: all .3s;
}
div:hover{
height: calc(100% - 100px);
top: 58px;
}
.bottom{
position: absolute;
bottom: 15px;
width: 100%;
font-size: 26px;
}
<div>
<p>Height's tansition</p>
<p>Works fine in Chrome, FF</p>
<p class="bottom">But not in IE</p>
</div>
sì, lo so che nella mia impostazione bottom: 0
al <div>
e solo modificare l'altezza caso, funziona anche, ma a causa del bug in IE, che solo le modifiche da un'altezza a un altro, ecco perché ho simulato l'effetto, cambiando la posizione in alto e l'altezza.
Quindi, come posso simulare questo tipo di effetto in IE?
Nota: Non è possibile utilizzare le unità di Viewport: vh
, vw
.
PD: il comportamento rara con IE nel mio caso è perché il passaggio da top: value
a top: otherValue
opere, ma la transizione height: calc(value)
-height: calc(otherValue)
non lo fa, questo è solo per guidare.
io so che non è esattamente quello che state facendo, ma ci sono noti bug in IE10-11 per 'calc' in uso in' transforms'. Vedere [qui] (https://connect.microsoft.com/IE/feedback/details/814380/), potrebbero essere correlati – zgood
grazie, ho trovato questo collegamento in quello che hai postato https://connect.microsoft .com/IE/feedback/dettagli/762719/css3-calc-bug-inside-transition-or-transform qui il team di Internet Explorer lo ammette come bug e ha dichiarato: "Siamo stati in grado di convalidare il tuo feedback. in base all'impatto limitato di questo errore, non saremo in grado di risolvere questo problema durante questa versione. " –
Potresti aggiungere uno snippet di codice funzionante vicino alla situazione reale? Forse è possibile fare un workaround con layout HTML extra. –