如何仅使用 CSS 创建淡入/淡出效果?

Posted

技术标签:

【中文标题】如何仅使用 CSS 创建淡入/淡出效果?【英文标题】:How can I create a fade in/fade out effect using only CSS? 【发布时间】:2014-01-09 07:52:46 【问题描述】:

我想只使用 CSS 来实现淡入淡出效果。如果我移动或悬停在一个 div 元素上,我需要调用另一个 DIV 来淡入,snd 然后它应该在鼠标离开时淡出 agsin。 DOM 元素调用和效果应该在CSSCSS3 中。我不能使用 javascript 和 Jquery。

<style> 
#b

    width: 200px;
    height: 40px;
    background: red;
    border-radius: 10px;
    text-align: center;
    margin: 35px;
    padding: 30px 0px;
    box-shadow: 2px 4px 10px 2px;
    opacity:0;
    color: white;
    font: 20px bold;

#a

    width: 200px;
    height: 40px;
    background: rgb(156, 155, 155);
    border-radius: 10px;
    text-align: center;
    cursor: pointer;
    margin: 35px;
    padding: 30px 0px;
    box-shadow: 2px 4px 10px 2px;
    color: white;
    font: 20px bold;


#a:hover + #b  
    animation:myfirst 1s;
    -webkit-animation:first 1s;
    opacity:1;
                

@keyframes first

from opacity:0.1;
to opacity:1;


@-webkit-keyframes first 

from opacity:0.1
to opacity:1;


</style>

<div id="a">Hover</div>
<div id="b">show</div>

【问题讨论】:

你已经尝试了什么? ***.com/questions/11679567/… 我再次编辑了我的代码检查 【参考方案1】:

您可以使用opacityadjacent sibling combinator 轻松实现这一目标。

查看jsfiddle 以获取供应商前缀版本。

#container + div 
    transition: opacity .25s; 
    opacity: 0;


#container:hover + div 
    opacity: 1;

Transition browser support

Adjacent sibling combinator (+ selector) documentation

【讨论】:

以上是关于如何仅使用 CSS 创建淡入/淡出效果?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 CSS 3 过渡创建循环淡入/淡出图像效果?

如何创建交叉淡入淡出,以便我可以使用 javascript 调用 css 中的关键帧?

CSS 最简洁hover事件的淡入淡出写法,且不占文档流位置!

利用CSS3制作淡入淡出动画效果

如何在 CSS 中转换 jQuery 淡入淡出效果?

使用 CSS 过渡的滑动 + 淡入淡出效果