在Safari上使用CSS过渡的奇怪行为

时间:2015-09-03 14:28:25

标签: css css3 mobile-safari css-transitions

我有一个div,宽度设置为280px:

HTML:

<div id="propertiesPane">.. </div>

CSS:

#propertiesPane {
    position: absolute;
    width: 280px;
    right: 10px;
    top: 6px;
    bottom: 0px;
    left: auto !important;
    -webkit-transition: width 0.1s linear;
    -moz-transition: width 0.1s linear;
    -o-transition: width 0.1s linear;
    transition: width 0.1s linear;
}

#propertiesPane.collapsed {
    width: 50px !important;
}

此外,正在发生的事情是JavaScript代码,文档准备就绪,并且根据标记,&#39;崩溃&#39;应用class,将宽度设置为50px。

问题是这在桌面(IE,FF,Chrome)和Android 4.3上运行良好,但在Safari iOS 8 +上运行不正常。

在Safari上,虽然&#39;倒塌了&#39; class得到应用,宽度不是50px而是280px。如果我删除了转换&#39;来自CSS id选择器的行,它可以正常工作。

是否存在奇怪的#34;竞争条件&#34; - 就像在Safari上应用宽度一样?我倾向于这样,因为有时我看到它正常工作,宽度设置为50px。

JSFiddle https://jsfiddle.net/fkhq88eb/3/

0 个答案:

没有答案