CSS过渡0秒(零秒)不起作用?

cat*_*the 8 html css css3 css-transitions

我想避免对元素的一些过渡效果(例如:) opacity.我应该使用opacity 0s,因为这应该是默认值,换句话说,转换对此没有影响.但这不是这样的.这是我试过的:

div {
    width: 100px;
    height: 100px;
    opacity: 0.5;
    background: red;
    -webkit-transition: all 2s, opacity 0s;
    transition: all 2s, opacity 0s;
}

div:hover {
    width: 300px;
    opacity: 1;
}
    
Run Code Online (Sandbox Code Playgroud)
<div></div>
Run Code Online (Sandbox Code Playgroud)

div {
    width: 100px;
    height: 100px;
    opacity: 0.5;
    background: red;
    -webkit-transition: all 2s, opacity 0.1s;
    transition: all 2s, opacity 0.1s;
}

div:hover {
    width: 300px;
    opacity: 1;
}
    
Run Code Online (Sandbox Code Playgroud)
<div></div>
Run Code Online (Sandbox Code Playgroud)

但是,如果0sopacity改变0.1s,它会工作(用0.1秒的持续时间),是有办法"禁用",动画会在一些其他的方式,或许,所以它会甚至没有一个很小的值作为0.1S工作?

Mad*_*ari 2

这是一个解决方案

transition: all 2s, opacity 1ms;

因为0s这不是有效时间(我不知道为什么)。并且1ms很可能在很小的时间内0s对于人眼

对于您当前的问题,您还可以使用transition: width 2s仅适用于width.