问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

纯css行内实现点击实现图片的淡入淡出

发布网友 发布时间:2022-04-24 18:19

我来回答

3个回答

懂视网 时间:2022-05-12 23:59

当时的目的是想用纯css实现一种鼠标hover A节点的时候B淡入,移出A的时候B淡出的功能,希望B在不显示的时候不会占位且无事件(通常用display:none实现),于是就出现了困难。

以下是dom结构


transition不支持display属性的改变,而浏览器会将节点属性的变化同display一起显示,从而导致动画效果的失效

#container{width:100px;
height:100px;
background-color: red;
display:block;

}
#container + #detail{
width:10px;
height:10px;
position:absolute;
background-color:#666;
top:15px;
left:15px;
opacity:0;
transition:all 0.4s;
display: none;
}
#container:hover + #detail,#detail:hover{
opacity:1;
display: block;
}

淡入完成了,淡出却不行,这是因为detail节点不占位了

#container{width:100px;
height:100px;
background-color: red;
display:block;

}
#container + #detail{
width:10px;
height:10px;
position:absolute;
background-color:#666;
top:15px;
left:15px;
opacity:0;
-webkit-animation:hide 0.4s ease-out;
display: none;
}
#container:hover + #detail,#detail:hover{
opacity:1;
display: block;
-webkit-animation:show 0.4s ease-in;
transition-delay: 0s;
}
@-webkit-keyframes show /* Safari 和 Chrome */
{
0% {opacity:0;}
100% {opacity:1;}
}
@-webkit-keyframes hide /* Safari 和 Chrome */
{
0% {opacity:1;}
100% {opacity:0;}
}

最终实现代码(只写了chrome下的)

#container{width:100px;
height:100px;
background-color: red;
display:block;

}
#detail{
width:10px;
height:0px;
position:absolute;
background-color:#666;
top:15px;
left:15px;
opacity:0;
-webkit-animation:hide 0.4s ease-out;
display: block;
transition:height 1ms;
transition-delay: 0.4s;
overflow:hidden;
}
#container:hover + #detail{
height:10px;
opacity:1;
display: block;
-webkit-animation:show 0.4s ease-in;
transition-delay: 0s;
}
#detail:hover{
height:10px;
opacity:1;
display: block;
-webkit-animation:show 0.4s ease-in;
transition-delay: 0s;
}
@-webkit-keyframes show
{
0% {opacity:0;}
100% {opacity:1;}
}
@-webkit-keyframes hide
{
0% {opacity:1;}
100% {opacity:0;}
}

热心网友 时间:2022-05-12 21:07

<!DOCTYPE html>
<html lang="zh-CN">
<head>

<meta charset="UTF-8">
<title>图片的淡入淡出</title>

</head>
<body style="background-color: #eee;">

<img style="opacity: 0; -webkit-transition: opacity 1s ease; -moz-transition: opacity 1s ease; -ms-transition: opacity 1s ease; -o-transition: opacity 1s ease; transition: opacity 1s ease;" 
onclick="this.style.opacity == '1' ? this.style.opacity = '0' : this.style.opacity = '1'" 
src="https://www.baidu.com/img/bd_logo1.png">

<p>点击上面区域试试</p>

</body>
</html>

热心网友 时间:2022-05-12 22:25

用transition控制
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
深圳公共营养师怎么申请补贴 深圳公共营养师补贴怎么领 深圳营养师工资待遇怎么样 ...出道16年一直不露额头,当他撩起刘海,效果堪比「 ”整容”_百度... ...刘海的鹿晗,重回颜值巅峰!换个发型堪比“整容”都有哪些?_百度... ...整容”叫尹正剪头,仅仅换个发型而已,为何会变化那么大呢?_百度... 会计考高级有什么要求 报考高级会计需要什么条件呢? 工程项目融资、建设、管理、运营等过程中各模式的英文简称及专业分析... 200平米别墅装修多少钱别墅装修需要注意些什么 JS控制CSS实现淡出淡入的问题 请问:英语参赛申请怎么写 大学体育部准备比赛的申请书 参加体育训练申请书 如何申请参加中国象棋乙级联赛的资格 乒乓球比赛申请书 参加礼仪队的申请书怎么写? 技能比赛申请书的范文 急求&#x261E;参加全国大学生英语竞赛申请书 怎么写?在线等 给老师写学校打乒乓球比赛的申请 我们想举行一场足球比赛,但给学校的申请书怎么呢? 学生会体育部比赛申请书怎么写 如何写乒乓球比赛的申请书 想要参加某项活动的申请书怎么写?? 书法比赛申请书怎么写啊 小学生参加运动会申请书怎么写? 小学生参加运动会申请书怎么写 参赛申请书怎么写啊! 三国演义中反应诸葛亮聪明和智慧的典型事例有? 生活中用智慧战胜力量的例子 关于页面淡入淡出,可用JS或者CSS3控制 利用css3制作淡入淡出动画效果时淡出后没多久就消失了 如何用CSS或者Vue设计一个淡入淡出DOM的动画 网页上的图片淡入淡出效果有几种实现方法? 程序《淡入淡出》效果是怎么实现的? css中blendTrans(duration=0)是什么意思啊? 现在网页中出现图片的灯光效果,淡入淡出,滤镜效果,是通过什么实现的_百 ... ...CS5中,如何实现鼠标经过图片时 图片淡入淡出效果 代码 CSS怎么让文字显示完再显示图片 【网页制作】DIV层的淡入和淡出HTML代码 css图片切换特效,以下代码可实现图中效果,但是切换时显得生硬,我希望切 ... 鼠标悬停 DIV淡入淡出 哪位哥哥姐姐能告诉我怎么实现页面跳转淡入淡出的效果,最好是JS的... 求网页图片淡入显示效果代码 ,谢谢! watchout切换的时候淡入淡出 css中的transition属性支持visibility的渐变吗? 家乐福卡余额谁帮我查下 平安保险店家保理赔,屋顶是搭建的彩钢赔偿吗? 请问:平安企业宝的店家宝,怎么样? 怎么找到平安保险个人销售店铺