防止“ :: after”,直到完成“ transition”

时间:2019-10-06 15:55:20

标签: css css-transitions transition

我正在创建一个按钮,当将鼠标悬停在其上时,它会增大,然后出现一个>符号。我不明白该怎么做。我已经实现了所有功能,但是唯一不起作用的是,>一经悬停就会出现,并且文本会被包裹。

.start-quiz > button {
text-align: left;
padding-left: 25px;
width: 100px;
}

.start-quiz > button:hover {
width: 125px;
transition: width 0.5s linear;
}

.start-quiz > button:hover:after {
content: " >";
transition: content 0.5s ease;
}

1 个答案:

答案 0 :(得分:0)

content不可转换。您可以设置不透明度,然后像这样定义过渡效果

.start-quiz > button {
  text-align: left;
  padding-left: 25px;
  width: 100px;
}

.start-quiz > button:hover {
  width: 125px;
  transition: width 0.5s linear;
}

.start-quiz > button:after {
  content: " >";
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.5s ease;
}

.start-quiz > button:hover:after {
  visibility: visible;
  opacity: 1;
}