我想得到一个悬停动画,同时改变字体大小和字体系列。我没有设法改变回字体系列当字体大小的转变已经完成。这是甚至可能的?
我拥有的:
a{
-webkit-transition: font-size .2s ease;
-moz-transition: font-size .2s ease;
-o-transition: font-size .2s ease;
-ms-transition:font-size .2s ease;
transition: font-size .2s ease;
}
a:hover{
font-family: "MyHoverFont";
font-size: 3em;
}
我尝试了:
a{
...
-webkit-transition: font-family.2s ease;
-moz-transition: font-family .2s ease;
-o-transition: font-family .2s ease;
-ms-transition: font-family .2s ease;
transition: font-family .2s ease;
}
a:hover{
...
font-family: "MyHoverFont"
}
4条答案
按热度按时间dauxcl2d1#
你不能在
font-family
中使用动画或者过渡。这意味着,你实际上可以这样做,但是它会立即改变font-family
,而不是从一个font-family
变形到另一个。但我找到了一个很好的解决方法(here):
您可以执行以下操作:我有两个div,每一个都有相同的文本但是字体不同。第二个div绝对位于第一个div的下面,默认情况下是隐藏的。当需要"变形"字体时,将第一个可见的div不透明度设置为0,第二个div设置为1。它看起来应该像是在变形,但代价是有点复杂的标记。
看起来你做了类似下面的事情:
但在本例中,第二个规则会覆盖第一个规则,因此通常会执行以下操作:
sh7euo9m2#
现代浏览器现在支持Variable fonts,在那里你可以控制可用字体的设置。
您也可以转到this example来控制设置。
不是所有的字体和选项都支持,如果你想找到一些可变字体的资源,你可以去this link。
zdwk9cvp3#
我在堆栈溢出中提出的另一个question中回答了这个问题。
Javascript演示位于:https://www.cqrl.in/dev/font-transition-js.html
GitHub代码如下:https://github.com/Sukii/font-transition
拖船文件在这里:https://tug.org/TUGboat/tb42-1/tb130venkatesan-transfont.html
yizd12fk4#
您可以使用变体版本字体
因为字体变体它使用一个数学公式来转换css transition理解的
https://developer.mozilla.org/en-US/docs/Web/CSS/font-variant