gpt4 book ai didi

css - 如何在另一个元素悬停时为一个元素设置动画

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

我有一个包含两个元素的 div 框。一个在另一个下面。因此,当下方元素悬停时,我会让它动画化并将其滑出顶部元素。

<div id="main">
<div id="box"></div>
<div id="item"></div>
</div>

根据我对 CSS3 的了解,我只能为元素进行过渡,使其在悬停时滑出。但我希望它发生在#main 悬停而不是#item 时。请看看他们。 http://jsfiddle.net/sL3Pw/

最佳答案

你是对的,目前没有办法在纯 CSS 中为子元素的父元素设置样式。您可以使用 JavaScript 作为实现所需效果的一种方式。

(更新)

您可以通过执行以下操作在 JavaScript 中实现此目的(DEMO:Fiddle)

JS

这应该运行 onload 否则它不会工作。

// On Hover
document.getElementById('main').onmouseover = function () {
document.getElementById('item').classList.add("to-left"); // Add To Left Class
}

// OnMouseOut (Not Hover)
document.getElementById('main').onmouseout = function () {
document.getElementById('item').classList.remove("to-left"); // Remove To Left Class
}

请记得在需要时更改元素的 ID。

CSS

将此 CSS 类添加到您的 CSS

.to-left {
margin-left: 60px;
}

并且您的 HTML 保持不变。这应该得到我认为您想要的结果。如果这对你有用,请告诉我。

关于css - 如何在另一个元素悬停时为一个元素设置动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19148198/

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