[問題] 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