在哪里应用CSS过渡?

时间:2014-07-29 21:39:57

标签: css css-transitions

我应该将transition属性应用于element还是应用element:pseudo-class

什么是可取的,

p {
  color: blue;
  transition: 2s 22ms
}

p:hover {
  color: red
}

p {
  color: blue
}

p:hover {
  color: red;
  transition: 2s 22ms
}

3 个答案:

答案 0 :(得分:3)

这取决于你想要达到的目标。

第一个选项:

  

您的蓝色文字 - > mouseover - > 过渡效果 - >你的文字   红色 - > mouseout - > 过渡效果 - >你的文字是蓝色的

第二个选项:

  

您的蓝色文字 - > mouseover - > 过渡效果 - >你的文字   红色 - > mouseout - >你的文字是蓝色的

根据您的需要选择。

答案 1 :(得分:1)

如果希望转换根据伪类而不同,则必须使用第二个选项。但如果你不在乎,请使用第一个。

input {
  color: blue
}

input:hover {
  color: red;
  transition: 2s 22ms
}

input:focus {
  color: red;
  transition: 3s
}

input:active {
  color: red;
  transition: 4s
}

答案 2 :(得分:1)

如果您将转换应用于:hover,转换只会发生在mouseover上,而不会发生在mouseout上。将转换应用于元素而非:hover将使转换同时发生在mouseovermouseout上。

这里是fiddle to help illustrate