css3-animation实践1 两个元素的翻转与切换
来源:互联网 发布:梦想小镇mac同步ios 编辑:程序博客网 时间:2024/06/07 05:25
今天开发项目时,表格信息填写下方会有提示行,为蓝色背景。提交表格数据时候,如果有错误提示,会在提示行上方,背景红色。但是两层提示会显得很碍眼,所以自己想法是如果有错误提示,直接翻转提示行180度然后显示错误提示,然后2s后错误提示翻转回到提示行。大概就是这么个简单动画。
这里一开始打算用一个div来翻转和显示,但是翻转180度以后,元素里面的字体是倒的,这显然不符合我们的要求。后来终于找到了解决办法。
当我们进行3d转换的时候,有一个属性可以设置backface-visibility。参考W3C的解释:http://www.w3school.com.cn/cssref/pr_backface-visibility.asp
大致意思就是当元素进行3d转换并且呈现背面时候,不显示该元素。这样思路就来了,我们可以设置两个重叠的元素,一个在上方,并且设置背面不显示。当两个元素同时转动,前方元素因为背面不显示的原因(即180度后),会显示后面元素。再一个180度后,前方元素又开始显示了。这样看起来就像是一个元素转动到180后切换了一个元素一样。
话不多说,贴代码了。
css:
img.center{display: block;position: absolute;width: 512px;height: 512px;left: 50%;top: 50%;margin-left: -256px;margin-top: -256px;}img.left{display: block;position: absolute;width: 256px;height: 256px;left: 50px;top: 50px;}.z_index{z-index: 5;}.turn_front{animation:front 6s linear infinite;backface-visibility: hidden;}.turn_back{animation:back 6s linear infinite}@keyframes front{0%{transform: rotateX(0deg);}30%{transform: rotateX(180deg);}70%{transform: rotateX(180deg);}100%{transform: rotateX(360deg);}}@keyframes back{0%{transform: rotateX(-180deg);}30%{transform: rotateX(0deg);}70%{transform: rotateX(0deg);}100%{transform: rotateX(180deg);}
}html:
<img class="z_index left" src="../image/Microsoft_Office_front.png" id="front_img"><img class="left" src="../image/Microsoft_Office_back.png" id="back_img"><img class="z_index turn_front center" src="../image/Microsoft_Office_front.png"><img class="turn_back center" src="../image/Microsoft_Office_back.png"><button onclick="turn()">点我翻转</button>
js:
function turn() {var front_img = document.getElementById("front_img");var back_img = document.getElementById("back_img");front_img.classList.add("turn_front");back_img.classList.add("turn_back");setTimeout(function() {front_img.classList.remove("turn_front");back_img.classList.remove("turn_back");},6000);}
中间的图片一直循环转动,左方图片需要点击按钮执行一次转动。
0 0
- css3-animation实践1 两个元素的翻转与切换
- CSS3实践之路(三):CSS3的转换效果(transition)与动画(animation)
- CSS3实践之路(六):CSS3的过渡效果(transition)与动画(animation)
- css3实现的翻转特效及tab切换功能
- CSS3 transition与animation
- 两个界面切换翻转动画
- css3的animation 动画
- css3的动画animation
- 在两个页面间翻转设置Animation动作的一些总结
- css3翻转后显示背部隐藏的元素的效果3D翻转效果- transform rotate backface-visibility
- CSS3的过渡效果(transition)与动画(animation)
- 有关《查找两个List中的不同元素》的问题解答与编程实践
- 两个界面的翻转
- 两个view的翻转
- 关于css3的icon翻转
- 两个UIViewController之间的翻转可以用动画效果翻转(上下,左右)--跨界面之间的视图切换
- CSS3的新属性animation
- CSS3 的 transition 和 animation
- cookie实例
- PHP中MongoDB数据库的连接、添加、修改、查询、删除等操作实例
- DAO设计模式---初步实现
- Python显示文本
- 关于图片压缩上传问题;
- css3-animation实践1 两个元素的翻转与切换
- java菱形
- 顶部图片循环播放开源库Android-ConvenientBanner的使用。。。
- iOS 录音和视频录制播放
- C/C++ --- 动态注册类
- android studio ndk undefined reference to '
- JAVA环境搭建
- springmvc mybatis 基于全注解事务配置注意事项
- 极光推送简单应用设置