比例:悬停之前

时间:2016-10-25 10:18:38

标签: css animation hover scale

我在悬停在:before上时尝试缩放<span>内容。到目前为止,样式在悬停时应用,但没有视觉效果更改后,:before仍然保持相同的比例。

到目前为止我所做的事情:

<div class="comment-actions">
  <span class="comment-likes icon-ico-heart">
    12
  </span>
</div>

SASS(CSS):

.comment-likes
  transition: all 100ms ease-in-out
  color: #92a3b9
  cursor: pointer

  &:hover::before
    transform: scale(1.5)

Icomoon:

.icon-ico-heart:before {
  content: "\e914";
}

[class^="icon-"], [class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'icomoon' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;

  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

4 个答案:

答案 0 :(得分:2)

在悬停时增加font-size并向其添加transition属性。

.icon-ico-heart:before {
    font-size: 10px;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.icon-ico-heart:hover:before {
    font-size: 15px;
}

您只能使用transition: font 0.3s ease;仅针对字体而非all

应用转场

答案 1 :(得分:1)

不要使用scale属性对其进行转换,但请使用font-size。所以:

.icon-ico-heart:hover:before {
    font-size: 20px;
}

答案 2 :(得分:0)

您可能无法将scale属性用于字体或图标字体,

您可以使用字体大小属性而不是此。

答案 3 :(得分:0)

您无法转换 ::before 元素,因为它的显示类型是:display: inline, 您必须将其更改为 display: inline-block 或其他。

.icon-ico-heart:before {
  content: "\e914";
  display:inline-block;
}