[问题] CSS transition 问题

楼主: kisha024 (4545454554)   2024-02-07 13:41:13
大家好
https://jsfiddle.net/apfjd18m/
我有三个div 都有设定transition
第一个div hover时,会立即变化(没有transition效果)
第二个div hover前 有设定border-image-outset hover时有transition效果
第三个div hover前 并没有设定padding-right 而hover时也有transition效果
我的疑问在于 既然 border-image-outset 和 padding-right 的默认都是0
为什么hover前 border-image-outset要设定 而padding-right却不用呢?
谢谢
作者: cknas (A.S)   2024-02-08 02:56:00
先说以下说明可能有错或不够完整,还请各位高手强者不吝指正。原po的问题是因为你在设定border-image前没有设定border,所以对这个div来说border的设定不够完整。虽然border-image-outset的默认值是0,但你没设定过border,border-image-outset这个border关连的属性自然也不会存在,所以你的transition在hover前才会没有对照值可以用。你可以用开发者工具看,原本c1的div在非hover时,它是完全没有border-image-outset这个设定的。不过如果给c1一个border: none,就可以看到这个div有了border-image-outset:0的设定。padding不用先设定是因为padding是一个每个div都必有的东西,默认值为0,所以transition有前后值可以做变化。
作者: microloft (微阁)   2024-02-08 15:51:00
我的理解跟楼上不太一样,有兴趣可参考后面回文。

Links booklink

Contact Us: admin [ a t ] ucptt.com