热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

CSS过渡,可见性不起作用

如何解决《CSS过渡,可见性不起作用》经验,为你挑选了3个好方法。

在下面的小提琴中,我分别对可见性和不透明度进行了转换.后者有效,但前者没有.此外,在可见性的情况下,转换时间被解释为悬停时的延迟.适用于Chrome和Firefox.这是一个错误吗?

http://jsfiddle.net/0r218mdo/3/

情况1:

#inner{
    visibility:hidden;
    transition:visibility 1000ms;
}
#outer:hover #inner{
    visibility:visible;
}

案例2:

#inner1{
    opacity:0;
    transition:opacity 1000ms;
}
#outer1:hover #inner1{
    opacity:1;
}

SW4.. 127

这不是一个错误 - 你只能转换序数/可计算属性(一种简单的思考方式是具有数字开始和结束数值的任何属性.虽然有一些例外).

这是因为过渡通过计算两个之间的关键帧来工作,并通过外推中间量来产生动画.

visibility 在这种情况下是一个二进制设置(可见/隐藏),所以一旦过渡持续时间过去,属性只是切换状态,你看这是一个延迟 - 但它实际上可以看作过渡动画的最终关键帧,与中间关键帧尚未计算(隐藏/可见之间的值是什么?不透明度?尺寸?因为它不明确,所以不计算它们).

opacity 是一个值设置(0-1),因此可以在提供的持续时间内计算关键帧.

可以在此处找到可转换(可动画)属性的列表



1> SW4..:

这不是一个错误 - 你只能转换序数/可计算属性(一种简单的思考方式是具有数字开始和结束数值的任何属性.虽然有一些例外).

这是因为过渡通过计算两个之间的关键帧来工作,并通过外推中间量来产生动画.

visibility 在这种情况下是一个二进制设置(可见/隐藏),所以一旦过渡持续时间过去,属性只是切换状态,你看这是一个延迟 - 但它实际上可以看作过渡动画的最终关键帧,与中间关键帧尚未计算(隐藏/可见之间的值是什么?不透明度?尺寸?因为它不明确,所以不计算它们).

opacity 是一个值设置(0-1),因此可以在提供的持续时间内计算关键帧.

可以在此处找到可转换(可动画)属性的列表


http://dev.w3.org/csswg/css-transitions/#animtype-visibility指定中间值映射到"可见".

2> Sevban Öztür..:

可见性是可动画的.查看此博客文章:http://www.greywyvern.com/? post = 337

你也可以在这里看到它:https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_animated_properties

假设您有一个菜单,您希望在鼠标悬停时淡入和淡出.如果opacity:0仅使用,您的透明菜单仍然存在,当您将鼠标悬停在不可见区域时,它将生成动画.但是如果你添加visibility:hidden,你可以消除这个问题:

div {
    width:100px;
    height:20px;
}
.menu {
    visibility:hidden;
    opacity:0;
    transition:visibility 0.3s linear,opacity 0.3s linear;
    
    background:#eee;
    width:100px;
    margin:0;
    padding:5px;
    list-style:none;
}
div:hover > .menu {
    visibility:visible;
    opacity:1;
}


3> 小智..:

根据规范,可见性是一种可动画的属性,但可见性的转换不会像人们预期的那样逐渐发挥作用.而是隐藏元素的可见性延迟转换.另一方面,使元素可见立即起作用.这是由规范定义的(在默认定时功能的情况下)并且在浏览器中实现.

这也是一种有用的行为,因为实际上人们可以想象隐藏元素的各种视觉效果.淡出元素只是使用不透明度指定的一种视觉效果.其他视觉效果可能会使用例如transform属性移走元素,另请参阅http://taccgl.org/blog/css-transition-visibility.html

将不透明度过渡与可见性过渡相结合通常很有用!虽然不透明度似乎做得对,但完全透明的元素(不透明度:0)仍会接收鼠标事件.因此,例如单独使用不透明度转换消失的元素上的链接仍然响应点击(尽管不可见),并且淡化元素后面的链接不起作用(尽管通过淡化元素可见).请参见http://taccgl.org/blog/css-transition-opacity-for-fade-effects.html.

通过仅使用转换,可见性转换和不透明度转换,可以避免这种奇怪的行为.因此,可见性属性用于禁用元素的鼠标事件,而不透明度用于视觉效果.但是,必须注意不要在播放视觉效果时隐藏元素,否则将不可见.这里可见性转换的特殊语义变得很方便.隐藏元素时,元素在播放视觉效果时保持可见,之后隐藏.另一方面,当显示元素时,可见性过渡使元素立即可见,即在播放视觉效果之前.


推荐阅读
  • 本文整理了常用的CSS属性及用法,包括背景属性、边框属性、尺寸属性、可伸缩框属性、字体属性和文本属性等,方便开发者查阅和使用。 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • javascript  – 概述在Firefox上无法正常工作
    我试图提出一些自定义大纲,以达到一些Web可访问性建议.但我不能用Firefox制作.这就是它在Chrome上的外观:而那个图标实际上是一个锚点.在Firefox上,它只概述了整个 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • http:my.oschina.netleejun2005blog136820刚看到群里又有同学在说HTTP协议下的Get请求参数长度是有大小限制的,最大不能超过XX ... [详细]
  • 本文介绍了南邮ctf-web的writeup,包括签到题和md5 collision。在CTF比赛和渗透测试中,可以通过查看源代码、代码注释、页面隐藏元素、超链接和HTTP响应头部来寻找flag或提示信息。利用PHP弱类型,可以发现md5('QNKCDZO')='0e830400451993494058024219903391'和md5('240610708')='0e462097431906509019562988736854'。 ... [详细]
  • 本文介绍了Windows操作系统的版本及其特点,包括Windows 7系统的6个版本:Starter、Home Basic、Home Premium、Professional、Enterprise、Ultimate。Windows操作系统是微软公司研发的一套操作系统,具有人机操作性优异、支持的应用软件较多、对硬件支持良好等优点。Windows 7 Starter是功能最少的版本,缺乏Aero特效功能,没有64位支持,最初设计不能同时运行三个以上应用程序。 ... [详细]
  • 本文介绍了响应式页面的概念和实现方式,包括针对不同终端制作特定页面和制作一个页面适应不同终端的显示。分析了两种实现方式的优缺点,提出了选择方案的建议。同时,对于响应式页面的需求和背景进行了讨论,解释了为什么需要响应式页面。 ... [详细]
  • JavaWeb中读取文件资源的路径问题及解决方法
    在JavaWeb开发中,读取文件资源的路径是一个常见的问题。本文介绍了使用绝对路径和相对路径两种方法来解决这个问题,并给出了相应的代码示例。同时,还讨论了使用绝对路径的优缺点,以及如何正确使用相对路径来读取文件。通过本文的学习,读者可以掌握在JavaWeb中正确找到和读取文件资源的方法。 ... [详细]
  • Tomcat/Jetty为何选择扩展线程池而不是使用JDK原生线程池?
    本文探讨了Tomcat和Jetty选择扩展线程池而不是使用JDK原生线程池的原因。通过比较IO密集型任务和CPU密集型任务的特点,解释了为何Tomcat和Jetty需要扩展线程池来提高并发度和任务处理速度。同时,介绍了JDK原生线程池的工作流程。 ... [详细]
  • 加密世界下一个主流叙事领域:L2、跨链桥、GameFi等
    本文介绍了加密世界下一个主流叙事的七个潜力领域,包括L2、跨链桥、GameFi等。L2作为以太坊的二层解决方案,在过去一年取得了巨大成功,跨链桥和互操作性是多链Web3中最重要的因素。去中心化的数据存储领域也具有巨大潜力,未来云存储市场有望达到1500亿美元。DAO和社交代币将成为购买和控制现实世界资产的重要方式,而GameFi作为数字资产在高收入游戏中的应用有望推动数字资产走向主流。衍生品市场也在不断发展壮大。 ... [详细]
  • 本文介绍了获取关联数组键的列表的方法,即使用Object.keys()函数。同时还提到了该方法在不同浏览器的支持情况,并附上了一个代码片段供读者参考。 ... [详细]
  • 如何在HTML中获取鼠标的当前位置
    本文介绍了在HTML中获取鼠标当前位置的三种方法,分别是相对于屏幕的位置、相对于窗口的位置以及考虑了页面滚动因素的位置。通过这些方法可以准确获取鼠标的坐标信息。 ... [详细]
  • 本文介绍了贝叶斯垃圾邮件分类的机器学习代码,代码来源于https://www.cnblogs.com/huangyc/p/10327209.html,并对代码进行了简介。朴素贝叶斯分类器训练函数包括求p(Ci)和基于词汇表的p(w|Ci)。 ... [详细]
  • python+selenium十:基于原生selenium的二次封装fromseleniumimportwebdriverfromselenium.webdriv ... [详细]
author-avatar
佳鈺佳琴欣怡
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有