如何在动画发生并更改 h1 的字体大小后修改 :hover 值?

Posted

技术标签:

【中文标题】如何在动画发生并更改 h1 的字体大小后修改 :hover 值?【英文标题】:How do i modify :hover values after an animation has occurred and changed the font-size of an h1? 【发布时间】:2022-01-23 20:55:16 【问题描述】:

如何在动画发生后修改 :hover 并更改 h1 的字体大小? 它是这样的: 文字:字体大小:12.5rem;字母间距:0; 将鼠标悬停在 text-font-size: 13.5rem letter-spacing: 1rem; ,几秒钟后,带有@keyframes 的动画来了,并且正在改变字体大小,从 12.5rem 到 5 rem。应用了新的更改(字体大小:5rem;)我想再次将鼠标悬停在它上面,但是这次 :hover 的值要改变,我悬停时的大小从 5rem(动画后的新值)到 6 rem 和字母间距,从 1rem 开始;到 0.2rem。 我不知道该怎么做..请帮我一些代码

【问题讨论】:

我认为使用 vanilla css 是不可能的,但我会尝试使用 Vanilla js 创建,然后我会给出答案:) 我会尽力帮助你,因为没有人给你答案,现在我发给你答案 非常感谢 非常感谢,我喜欢帮助 :) :)))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))) 我知道它的感觉,再次非常感谢:))! 【参考方案1】:

用 vanilla Js 创建的解决方案

let title = document.getElementById('title');
let i = 0;

title.addEventListener('mouseover', function() 
    if (i >= 1) 
        hoverText(5, 6);
        title.removeEventListener('mouseover', function() );
     else 
        hoverText(12.5, 13.5);
        i++;
    
);

function hoverText(small, big) 
    title.style.fontSize = big + "rem";
    setTimeout(function() 
        title.style.fontSize = small + "rem";
    , 1000);
h1#title 
    font-size: 12.5rem;
    letter-spacing: 0;
    transition-duration: 1s;
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <link rel="stylesheet" href="style.css">
    <script src="./script.js" defer></script>
</head>

<body>
    <h1 id="title">h1 element</h1>
</body>

</html>

【讨论】:

以上是关于如何在动画发生并更改 h1 的字体大小后修改 :hover 值?的主要内容,如果未能解决你的问题,请参考以下文章

css动画后文本“轻推”自身

css中的H1.H2,H3……默认含都有哪些属性?

怎么更改eclipse背景颜色和字体大小

Android App修改字体大小,且不随系统字体大小更改

在位置之前为 UILabel 尺寸设置动画

html字体大小、颜色、粗体、下划线代码(局部)