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);
}
當我通過px
或%
替換height屬性的計算,轉變工作正常,但與calc
,只是從一個高度去到另一個沒有過渡。如何使用calc屬性在IE中創建轉換屬性?
在其他的瀏覽器,它工作正常,問題只在IE
添加類似於我的真實情況的代碼和JSFiddle example。
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>
是的,我知道,在我的情況下,設置bottom: 0
到<div>
,只有改變高度,它也可以,但由於IE瀏覽器的漏洞,只有變化從一個高度到另一個,這就是爲什麼我模擬效果,改變頂部位置和高度。
那麼,如何在IE中模擬這種效果呢?
注意:我不能使用視口單元:vh
,vw
。
PD:罕見的行爲與IE瀏覽器在我的情況是因爲從top: value
到top: otherValue
作品從height: calc(value)
到height: calc(otherValue)
過渡,但過渡不,這只是引導。
我知道這不完全是你在做什麼,但有已知的bug在IE10-11爲'calc'在'transforms'使用。看到[這裏](https://connect.microsoft.com/IE/feedback/details/814380/),它們可能是相關的 – zgood
謝謝你,我發現這個鏈接在你發佈的https://connect.microsoft .com/IE/feedback/details/762719/css3-calc-bug-inside-transition-or-transform 這裏的Internet Explorer團隊承認它是一個bug並且說: 「我們能夠驗證您的反饋,基於此錯誤可能具有的有限影響,我們將無法在此版本中解決此錯誤。「 –
您是否可以添加接近實際情況的工作代碼片段?也許可以用額外的HTML佈局來解決這個問題。 –