gpt4 book ai didi

css - 仅使用 css 淡入和出现、淡出和消失?

转载 作者:行者123 更新时间:2023-11-28 18:15:01 24 4
gpt4 key购买 nike

我正在尝试创建一个在单击按钮时淡入/淡出的菜单,并且我正在尝试使用 CSS 过渡制作动画。

这是我想要实现的示例

#menu{
background: red;
display: block;
overflow: hidden;
position: absolute;
width: 182px;
top: 1em;
padding: 0;
height: auto;
opacity: 0;
/* The menu must not be clickable/cover the UI once hidden */
left: -100000px;

/*
The left property must change after the
opacity is zero and before it starts to
increase
*/
transition: opacity 0.25s 0.1s, left 0s; /* ??? */
-webkit-transition: opacity 0.25s 0.1, left 0s; /* Safari */
}

#menu.open{
opacity: 1;
left: auto;
}

http://jsfiddle.net/AzKAk/5/

当然这只能起到一半的作用,当菜单出现时它会淡入,但当它必须淡出时,这必须在元素到达其正确位置后发生。

是否可以只使用 CSS3 做这样的事情?

最佳答案

我假设您的意图是让菜单在没有任何移动的情况下就地出现/消失。

要做到这一点,您实际上必须结合使用两个属性:opacitydisplay

不透明度的变化会使菜单消失,但一旦达到opacity:0,它就会不可见但仍然存在并接受用户交互。

因此,您必须确保在不透明度转换完成后,您必须将 display 更改为 none

您可以使用 transitionend 事件(Chome/Safari 上的 webkitTransitionEnd)执行此操作。

您的代码看起来像这样:http://jsfiddle.net/daniran/GfbVV/

我在示例中使用的是 jQuery,但您可以直接使用 ontransitionend 属性轻松地注册监听器;

关于css - 仅使用 css 淡入和出现、淡出和消失?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18012237/

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