全部,不能使用CSS calc()和transform:translateX in IE
我希望能夠在我的CSS中使用calc:translateX。
例如,
#myDiv {
-webkit-transform: translateX(calc(100% - 50px));
-moz-transform: translateX(calc(100% - 50px));
transform: translateX(calc(100% - 50px));
}
雖然這工作完全在Chrome,Safari瀏覽器和Firefox - 它不會在IE10和IE11工作。
這裏你可以看到一個簡單的例子:http://jsfiddle.net/SL2mk/9/
這是不可能的?它是IE中的錯誤,還是calc()
不應該在這種情況下工作?
什麼是值得的 - 我讀here,你可以「疊加」translateX
達到相同的效果,我的測試似乎證實了這一點。即,
#div {
transform: translateX(calc(100% - 50px));
}
是一樣的:
#div {
transform: translateX(100%) translateX(-50px);
}
但我不知道這是否是這樣做的最好的,最可靠,面向未來的方式。
我也知道,這是可以使用left
,而不是translateX
,但後者是與過渡使用時更加順暢,因爲,據我所知,它會強制使用GPU來處理動畫。
在此先感謝您的建議和見解!
[這是一個錯誤](http://connect.microsoft.com/IE/feedback/details/762719/css3-calc-bug-inside-transition-or-transform),和[這個問題是一個騙局] (http://stackoverflow.com/questions/21142923/ie-10-11-css-transitions-with-calc-do-not-work)。只需使用兩個'translateX's,這是最好的方式 –
「我在這裏讀到你可以」堆棧「translateX」 - 你節省了我的一天。 – Elfayer