gpt4 book ai didi

javascript - CSS 过渡悬停(div 内的 h1 似乎无法正常工作)

转载 作者:行者123 更新时间:2023-11-28 16:12:04 38 4
gpt4 key购买 nike

我在 CSS 转换方面遇到了一个小问题。在我的网站上,我有一个 div,在那个 div 中是一个 h1。

这是CSS代码。

#inner1 {
background-image: url("rsz_astromenu1.jpg");
height: 333px;
width: 500px;
display: inline-block;
opacity: 0.5;
font-size: 10px;
}
#inner1:hover {
font-size: 50px;
transition: font-size 1s linear;
opacity: 1;
transition: opacity 1s linear;
}

我想设置不透明度(从 0.5 到 1)和字体大小(从 10px 到 50px)的动画。但是,当我将鼠标悬停在该 div 上时,不透明度会很好地过渡,但文本会立即改变大小。所以悬停似乎起作用并改变了字体大小,为什么省略了过渡?

如果我将其设置为#inner1 h1:hover,则过渡会正常工作,但仅当我将鼠标悬停在文本上时才有效。当我将鼠标悬停在该 div 上时,我想要字体大小过渡。

我试图解决这个问题并编写一个 JS 脚本来放大文本。

这是我想出的。我也会粘贴所有 HTML 内容,因为内容不多。

然而,这并不是很顺利,我已经做到每毫秒只增加 0.09px,但它看起来仍然很颠簸,并且还向浏览器发送了数百个不必要的命令,对吧?

我该如何解决这个问题?使用 CSS 还是 JS?提前致谢;)。

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Gallery</title>
<link rel="stylesheet" type="text/css" href="mainStyle.css">
</head>
<body>
<div id="outer">
<div id="middle">
<div id="inner1" class="hover-menu">
<h1 id="astro-h1" class="hover-menu">Astrofotografia</h1>
</div>
<div id="inner2"></div>
</div>
</div>
<script>

var JSinner1 = document.getElementById("inner1");
var JSastroh1 = document.getElementById("astro-h1")
JSastroh1.style.fontSize = "16px";


var textBigger = function() {
var newSize = parseFloat(JSastroh1.style.fontSize) + 0.009 + "px";
window.setInterval(textBigger, 1)
if (parseFloat(newSize) < 60) {

JSastroh1.style.fontSize = newSize;
console.log(newSize);
}
}
JSinner1.addEventListener("mouseover", textBigger)




</script>
</body>
</html>

最佳答案

您正在用另一个转换覆盖一个转换。试试看

transition: font-size 1s linear,opacity 1s linear;

关于javascript - CSS 过渡悬停(div 内的 h1 似乎无法正常工作),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38188860/

38 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com