2017-10-09 76 views
1

我在應用程序中創建了一個簡單的加載網格,並在其上添加了一個動畫。這個動畫似乎適用於除IE11以外的所有瀏覽器。CSS無限動畫無法在IE11中工作

有人可以幫我理解爲什麼它不工作,如何讓它在IE11中工作?

.loading { 
 
    background-color: #ededed; 
 
    height: 12px; 
 
    width: 500px; 
 
    overflow: hidden; 
 
} 
 

 
.animation { 
 
    animation: loading 1.2s linear; 
 
    animation-iteration-count: infinite; 
 
    background-color: #e0e0e0; 
 
    height: 100%; 
 
    left: 0; 
 
    position: relative; 
 
    top: auto; 
 
    width: 300px; 
 
} 
 

 
@keyframes loading { 
 
    from {left: -30rem} 
 
    to {left: calc(100% + 30rem)} 
 
}
<div class="loading"> 
 
    <div class="animation"></div> 
 
</div>

的jsfiddle如果你有興趣:https://jsfiddle.net/9shufwsL/

+0

可能重複https://stackoverflow.com/questions/34809544/css3-animation-is-not-working-in-ie11-but-works-in - 其他瀏覽器 – PraveenKumar

+0

嘗試這個'動畫:加載1.2s無限;' –

+0

@PraveenKumar沒有那麼多,因爲我的問題沒有回答任何問題的答案 –

回答

1

顯然calc()不會在這方面的工作。

我將中的left的值更改爲使用基於百分比的終結點,它在IE11中起作用。

.loading { 
 
    background-color: #ededed; 
 
    height: 12px; 
 
    width: 500px; 
 
    overflow: hidden; 
 
} 
 

 
.animation { 
 
    animation: loading 1.2s linear; 
 
    animation-iteration-count: infinite; 
 
    background-color: #e0e0e0; 
 
    height: 100%; 
 
    left: 0; 
 
    position: relative; 
 
    top: auto; 
 
    width: 300px; 
 
} 
 

 
@keyframes loading { 
 
    from {left: -30rem} 
 
    to {left: 110%} 
 
}
<div class="loading"> 
 
    <div class="animation"></div> 
 
</div>

+0

calc在IE10 + http:// caniuse中很好。 com /#search = calc – Rob

+0

@Rob,所以我們會想,但是在'calc()'在'@keyframes'內的這種特殊情況下它不起作用。搜索IE11鈣缺陷返回許多命中。去圖... – jfeferman

+1

在別處簡要閱讀了評論之後,我懷疑在關鍵幀中使用'calc()'是否有意義,但是我沒有給它任何想法。似乎關鍵幀應該做計算,'calc()'不應該被使用。 – Rob

1

calc()在IE瀏覽器不工作,你可以改變@keyframes到:

@keyframes loading { 
    from {left: -30rem} 
    to {left: 30rem} 
} 

你可以使用-moz-calc和它的工作,但說實話不是最好的事。

你的關鍵幀看起來像這樣:

@keyframes loading { 
    from {left: -30rem} 
    to {left: -moz-calc(100% + 30rem)} 
} 
+0

在IE11和Edge中測試了Jesse的代碼,兩者都不適合我。但它確實符合正確答案的代碼和我的答案的代碼片段。 – Rob

+0

Thx for Page-Link Rob,我只是因爲它是IE¯\ _(ツ)_ /¯ – Tibix