Loading
0

【CSS】看过来!transition属性应慎用这个值!

今天写一个web项目时发现,其中几个有input输入框的网页每次打开或者刷新时,如下图,会出现写好的css效果延迟出现的情况,因为项目主题是暗黑风格的,白变黑看了贼难受。


于是开始着手排查问题 ,首先用火狐ie之类其他内核浏览器打开刷新,发现没有这个问题,只有谷歌浏览器会出现这种情况,看了下chrome版本号是74。下面先上部分代码:

html

css


排查了一遍css代码,所有属性都没有写错,包含层级正常。最后心想这变化延迟大概一秒左右,会不会是过度属性设置的有问题?遂注释掉所有input框和select的transition属性。刷新,果然正常了,但是输入框设置了鼠标聚焦放大的互动效果,没过渡会显得很生硬;应该是属性值设置的有问题,input应该是类似ul、span这类有预设属性的标签(我的猜想...),比如说预设的background,padding,margin之类的,而transition的属性值填"all"的时候,这些预设也被当成要过渡的属性值处理。

因此,解决方案就是要什么写什么,原来的all 0.7s ease改成transform 0.7s ease,box-shadow 0.7s ease就达到我想要的正常效果了~

声明:本文为原创,作者为 Zanyxd,转载时请保留本声明及附带文章链接:https://blog.bugcola.com/note/index.php/541/