最好将CSS定时转换添加到链接选择器(a)或悬停状态(a:悬停)?

最好将CSS定时转换添加到链接选择器(a)或悬停状态(a:悬停)?,css,css-transitions,Css,Css Transitions,使用CSS转换创建淡入/淡出的滚动时,最好将其置于a选择器或a:hover选择器下 我的直觉是将它放在a:hover选择器上,因为这是滚动的活动部分,但看看示例,人们似乎在a之后声明它们 这两种方法似乎都很有效,但我真的很想知道哪一种被认为是“正确的”,如果可能的话,为什么 那么这个, a { color:blue; transition:.5s; } a:hover { color:red; } 或者这个(我的直觉): 谢谢 (有意省略供应商前缀)这取决于您的需要,请使用a中下面的转换属性

使用CSS转换创建淡入/淡出的滚动时,最好将其置于
a
选择器或
a:hover
选择器下

我的直觉是将它放在
a:hover
选择器上,因为这是滚动的活动部分,但看看示例,人们似乎在
a
之后声明它们

这两种方法似乎都很有效,但我真的很想知道哪一种被认为是“正确的”,如果可能的话,为什么

那么这个,

a { color:blue; transition:.5s; }

a:hover { color:red; }
或者这个(我的直觉):

谢谢


(有意省略供应商前缀)

这取决于您的需要,请使用
a
中下面的
转换
属性

a { color:blue; transition:.5s; }
将在鼠标悬停/悬停该元素以及鼠标移出时传输该元素

这是哪里

a:hover { color:red; transition:.5s; }
将仅在悬停时传输元素,它将在您取出鼠标时恢复正常

(来回转换)

(仅在
悬停
时传输,鼠标离开元素后将恢复正常)

注意:我增加了
转换时间
来显示它的实际效果 很重要


结论:一般来说,
transition
不应在
:hover
上使用,因为当鼠标从元素中取出时,它不会移动。但正如我再次说过的,这取决于需要

a:hover { color:red; transition:.5s; }