• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com专业计算机教程网站
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure
您的位置:首页 > 网页设计 >html5 > H5之13__CSS过渡、动画和变换

H5之13__CSS过渡、动画和变换

作者:匿名 字体:[增加 减小] 来源:互联网 时间:2018-12-03

本文主要包含H5,CSS过渡,动画和变换等相关知识,匿名希望在学习及工作中可以帮助到您
一. 简介

在触摸设备上, 动画是用户手势的反馈.

在所有浏览器中,JS 是单线程执行的. 如果有异步任务, 比如 setTimeOut() ,会加入到执行队列,然后在线程变得空闲时执行。

当 定时器里面的代码执行时, 其他的代码又不能执行了。 也就是说事件处理程序是按队列顺序执行的。


由于这些原因, 我们应该尽量避免使用setTimeOut() 动画, 可以使用CSS 过渡(transition ) 实现同样的效果,而且体验更好.

二. 过渡(transition)

CSS 过渡是能用 CSS 实现的最简单的动画。 过渡的强大之处是,它是在独立于 JS 执行 线程的另一个线程中执行的。

使用动画 能有一个更动态的界面, 并仍然能让事件处理程序保持快速运行。


一个理念: 任何可实现动画的 CSS 属性, 都可以用一个过渡来实现动画。

已设置动画的 CSS属性值的改变会触发动画。 使用 CSS tranition 属性来应用过渡。

语法如下:

transition: [property] [duration] [timing-function] [delay] ;

所有的值都是可选的.

例如: transition: color 1s ease-out, 指定了一个在一秒内颜色变化逐渐变慢的过渡. 虽然过渡现在已经成为标准了,但还是需要前缀才能在WebKit 内核 的浏览器上使用,

在 IE, Opera, Firefox 浏览器无需前缀了。

看一段代码, 轻触按钮时, 隐藏和显示图像的例子, 这里有淡入和淡出效果:


<body>
	<p id="touchme">
		<button class="button" id="toggle" style="width:100%; height:60px;">Toggle Picture</button>
		<p  class="picture hidden">
			<br/><br/>
			<a><img src="http://img1.2345.com/duoteimg/qqTxImg/2012/04/09/13339510584349.jpg"
					 width="320" height="256" alt="Goldfinch">
			</a>
		</p>
	</p>
</body>

通过CSS 来应用过渡



/***应用过渡 ***/
.picture {
  -webkit-transition: opacity 0.2s ease-out;
  -moz-transition: opacity 0.2s ease-out;
  -o-transition: opacity 0.2s ease-out;
  transition: opacity 0.2s ease-out;
  opacity: 1;
}
.picture.hidden {
  opacity: 0;
}


看效果图:









完整的html页面如下:

<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
	<meta name="viewport" content="width=device-width">
	<title>Touch</title>
	<link rel="stylesheet" src="screen.css" charset="utf-8">
</head>
<body>
	<p id="touchme">
		<button class="button" id="toggle" style="width:100%; height:60px;">Toggle Picture</button>
		<p  class="picture hidden">
			<br/><br/>
			<a><img src="http://img1.2345.com/duoteimg/qqTxImg/2012/04/09/13339510584349.jpg"
					 width="320" height="256" alt="Goldfinch">
			</a>
		</p>
	</p>
</body>
<script src="facade.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript" charset="utf-8">
(function(){
	//查找样式选择器
	var h = document.querySelector(".picture");
	
	function fadeIn() {
		var h = document.querySelector(".picture");
		var opacity = parseFloat(h.style.opacity);
		if(opacity < 1) {
			opacity = opacity + 0.05;
			h.style.opacity = opacity;
			window.setTimeout(fadeIn, 33);
		}
	}
	
	function fadeOut() {
		var opacity = parseFloat(h.style.opacity);
		if(opacity > 0.2) {
			opacity = opacity - 0.1;
			h.style.opacity = opacity;
			window.setTimeout(fadeOut, 10);
		} else {
			h.style.opacity = 0;
		}
		
	}
	
	var hidden = true;
	function togglePicture(){
		var h = document.querySelector(".picture");
		if(hidden) {
			h.className = "picture";
			fadeIn();
			hidden = false;
		} else {
			h.className = "picture hidden";
			 fadeOut();
			hidden = true;
		}
	}

	$('.button').on('tap', function(e) {
		e.preventDefault();
		togglePicture();
		e.target.className = "active button";
	}).on('tapend', function(e) {
		e.target.className = "button";
	});
	
})();
</script>
</html>


css文件如下:


body {
  margin: 0;
  padding: 0;
  font-family: sans-serif;
  text-align: center;
}

.button {
  font-size: 16px;
  padding: 10px;
  font-weight: bold;
  border: 0;
  color: #fff;
  border-radius: 10px;
  box-shadow: inset 0px 1px 3px #fff, 0px 1px 2px #000;
  background: #ff3019;
  opacity: 1;
}

.active, .button:active {
  box-shadow: inset 0px 1px 3px #000, 0px 1px 2px #fff;
}

/***应用过渡 ***/
.picture {
  -webkit-transition: opacity 0.2s ease-out;
  -moz-transition: opacity 0.2s ease-out;
  -o-transition: opacity 0.2s ease-out;
  transition: opacity 0.2s ease-out;
  opacity: 1;
}
.picture.hidden {
  opacity: 0;
}


以上就是H5之13__CSS过渡、动画和变换的内容,更多相关内容请关注微课江湖()!

您可能想查找下面的文章:

  • 详解HTML5之pushstate、popstate操作history,无刷新改变当前url
  • HTML5各种头部meta标签的功能(推荐)
  • 如何用H5实现一个触屏版的轮播器的实例
  • H5新属性audio音频和video视频的控制详解(推荐)
  • HTML5页面音视频在微信和app下自动播放的实现方法
  • H5 meta小结(前端必看篇)
  • 浅谈h5自定义audio(问题及解决)
  • h5调用摄像头的实现方法
  • HTML5单页面手势滑屏切换原理
  • Html5实现二维码扫描并解析

相关文章

  • 2018-12-03HTML5 canvas基本绘图之文字渲染
  • 2018-12-03关于本地预览的10篇文章推荐
  • 2018-12-03HTML5实战与剖析之媒体元素(1、video标签和audio标签简介)
  • 2018-12-03HTML5和Webkit实现树叶飘落动画
  • 2018-12-03phonegap操作数据库详解
  • 2018-12-03如何删除多余无用的css?
  • 2018-12-03为何说 HTML5「no longer based on SGML」?
  • 2018-12-03h5页面如何调用摄像头代码分享
  • 2018-12-03动手打造html5俄罗斯方块的(图文)
  • 2018-12-03html5 output标签是什么意思?html5 output标签的使用方法

文章分类

  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure

最近更新的内容

    • HTML 5特效页面及js测试页面汇总推荐
    • HTML5的结构和语义(5):内嵌媒体
    • 很酷的HTML5电子书翻页动画特效
    • HTML5 Canvas旋转动画的2个代码例子(一个旋转的太极图效果)_html5教程技巧
    • H5完成多图片上传的实例详解
    • 详细介绍精选HTML5/CSS3动画应用源码分享
    • HTML5的结构和语义(1):前言_html5教程技巧
    • HTML5音乐可视化视频教程的资源推荐
    • phonegap使用方法介绍(七)播放音频的实现方法
    • html5 css3实例教程 一款html5和css3实现的小机器人走路动画_html5教程技巧

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有