如何让在只有HTML与CSS的情况下实现动态效果呢?
关于动画,众所周知,JavaScript与Flash是做动画的主流,虽然CSS3的过渡并没有前两个专业,但是正是由于CSS3处理数据较少,其过渡比德芙还要丝滑。
今天让我们来看一下:
一、过渡(transtion)
属性:
1、transition-property
2、transition-duration(默认值为0,此时变化为一瞬间,没有过渡效果)
3、transition-timing-function
4、transition-delay
功能:
1、指定要过渡的CSS属性
2、指定完成过渡需要花费的时间(s)
3、指定过渡函数
其包括liner:匀速
ease-in:减速
ease-out:先加速再减速
4、指定过渡开始进行的延迟时间(s)
代码如下:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>过渡</title>
<style>
#container{
width:100px;
height:100px;
background:blue;
#container:hover{
cursor: pointer;
left: 100px;
border-radius: 50%;
background: red ;
}
}
.box{
position: absolute;
top: 20px;
left:20px;
width:100px;
height:100px;
background:blue;
transition: all 5s ease ;
}
.box:hover{
cursor: pointer;
left: 100px;
border-radius: 50%;
background: deeppink;
/* border-radius: 50%;
transition-property: left;
transition-duration: 10s;
transition-timing-function: ease;
transition-delay: 2s;*/
}
</style>
</head>
<body>
注意:由于过渡需要用户操作才可以实现,所以用:hover,若希望多个元素都具有过渡属性,则用ALL即可。和我们一起所写的background一样,既可以分开来写,也可以写在一起。
二、转换
1、移动
通过使用rotate()实现 单位deg
语法格式: transform:rotate(45deg) 旋转45度
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>转换之旋转</title>
<style>
.box{
position: absolute;
left:200px;
top:200px;
width:200px;
height:200px;
background-color: deeppink;
transform-origin: 10px 10px;
transform: rotate(45deg) ;
}
</style>
2、旋转
通过使:用transform实现,可实现元素的位移与旋转、缩放
位移:transform:translate()
旋转;transform:rotate()
缩放:transform:scale()
位移需要通过x与y坐标确定移动位置 语法格式:
transform:translate(x,y); transform:translateX(n); transform:translateY(n)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>转换之移动</title>
<style>
.box{
width:100px;
height:100px;
border: 1px solid black;
background-color: deeppink;
}
div#div2{
transform: translate(50px,100px) ;
/* transform: translateX(50px);
transform: translateY(100px) ;*/
background-color: blue;
}
</style>
3、缩放
缩放使用transform:scole() 语法格式: transform:scole(1,1)宽和高都放大一倍 transform:scole(2)相当于scole(2,2) 大于1为放大,小于为缩小。
代码如下:
<!DOCTYPE html>
<html lang="en">
<head>
<title>转换之缩放</title>
<style>
div{
position: absolute;
width:100px;
height:100px;
background-color: deeppink;
}
</style>
三、动画
transition虽然纵享丝滑,但是缺点非常明显:
1、需要用户通过特定的操作进行触发
2、transition是一次性的,并不能重复,除非继续特定出发
3、其只能定义开头与结尾,中间过程无法定义
在这种万般无奈的情况下,animation诞生了!它不仅可以通过每一帧来进行动画效果的展示,并且可以完美调用每一帧。动画是css中的一功能,与过渡最大的区别是:动画可以实现更多变化,更多控制,自动播放等功能 若使用动画,浏览器应该是最高版本 使用动画时,用@keyframes来作为关键帧,通过百分比构建样式规则。
代码如下:
<!DOCTYPE html>
<html lang="en">
<head>
<title>动画1</title>
<style>
.box{
position: absolute;
left:100px;
top:10px;
width:100px;
height:100px;
background-color: deeppink;
}
.box:hover {
animation: move 2s;
}
/*定义动画*/
@keyframes move {
from{
left :10px;
}
to{
left:100px;
}
}
</style>
属性:
1、animation-name(none为默认值,无动画效果)
2、animation-duration(默认值为0,无动画效果)
3、animation-timing-function(同上)
4、animation-delay
5、animation-iteration-count(1为默认值,infinite为无限次循环)
6、animation-direction(默认值为normal)
7、animation-state(默认running播放,pause暂停)
8、animation-fill-mode(默认值none,forwards回到关键帧,backwards回到第一帧)
功能:
1、指定关键帧动画名字
2、指定动画播放时间
3、设置动画播放方式
4、设置开始时间
5、设置循环次数
6、动画播放方向
7、播放状态,播放或者暂停
8、播放时间外属性
文章浏览阅读106次。BASE64编码算法不算是真正的加密算法。 MD5、SHA、HMAC这三种加密算法,可谓是非可逆加密,就是不可解密的加密方法,我们称之为单向加密算法。我们通常只把他们作为加密的基础。单纯的以上三种的加密并不可靠。 BASE64 按照RFC2045的定义,Base64被定义为:Base64内容传送编码被设计用来把任意序列的8位字节描述为一种不易被人直接识别的形式。(The ..._base 64编码 和mad5 和雪花算法
文章浏览阅读1.1k次。IP地址(Internet Protocol Address)是互联网协议地址的简称,是互联网通信的基础,互联网上每一个网络设备的唯一标识符每个在线的设备都需要一个IP地址,这样才能在网络中找到它们并进行数据交换。IP地址有很多种类型,今天跟大家简单分享一下住宅IP、家庭宽带IP以及原生IP的区别。住宅IP通常是指由互联网服务提供商(ISP)分配给家庭的或小型办公室使用的互联网连接IP地址,并可能随着网络连接的变化而变化。此类IP地址主要用于日常网络活动,如浏览网页、发送接收电子邮件、上网冲浪等。
文章浏览阅读2.6w次,点赞14次,收藏30次。如何更改layui form表单位置,宽度,颜色等_layui-form-item 宽度
文章浏览阅读612次。写的非常好_pagraph: scaling gnn training on large graphs via computation-aware caching
文章浏览阅读2.7w次,点赞61次,收藏285次。很炫酷的html代码:<!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><title>star</title><script type="text/javascript">window.onload = function () {C = Math.cos; // cache Math objectsS = Math.si.._炫酷的html
文章浏览阅读204次。题干:C国的死对头A国这段时间正在进行军事演习,所以C国间谍头子Derek和他手下Tidy又开始忙乎了。A国在海岸线沿直线布置了N个工兵营地,Derek和Tidy的任务就是要监视这些工兵营地的活动情况。由于采取了某种先进的监测手段,所以每个工兵营地的人数C国都掌握的一清二楚,每个工兵营地的人数都有可能发生变动,可能增加或减少若干人手,但这些都逃不过C国的监视。 中央情报局要研究敌人究竟演习什...
文章浏览阅读2.3k次。题目描述对数字,字符,数字串,字符串,以及数字与字符串组合进行倒序排列。字符范围:由 a 到 z, A 到 Z,数字范围:由 0 到 9符号的定义:“-”作为连接符使用时作为字符串的一部分,例如“20-years”作为一个整体字符串呈现;连续出现 2 个 “-” 及以上时视为字符串间隔符,如“out--standing”中的”–“视为间隔符,是 2 个独立整体字符串”out”和”standing”;除了 1,2 里面定义的字符以外其他的所有字符,都是非法字符,作为字符串的间隔符处理,倒序后
文章浏览阅读5w次,点赞36次,收藏138次。ArrayAdapter数组适配器用于绑定格式单一的数据,数据源可以是集合或者数组列表视图(ListView)以垂直的形式列出需要显示的列表项。实现过程:新建适配器->添加数据源到适配器->视图加载适配器第一种:直接用ListView组件创建列表每一行只有一行文字效果如图:activity_list布局:<?xml version="1.0" e..._arrayadapter
文章浏览阅读43次。近日,水滴直播平台登上了舆论的风口浪尖。有人认为水滴直播涉嫌侵犯隐私,但也有人表示这种互联网新生事物可以有效规避很多风险,值得鼓励,不应一棒子打死。记者采访时发现,很多商家、创业者对于水滴直播纷纷表示支持,并直言水滴直播为他们的经营带来了很大帮助。 邹志泉在北京丰台区经营着一家批发厂家直销男女内衣裤的店铺,平时就打开水滴直播,分享他在店铺的经营画面。面对水滴直播涉及隐私的提问,邹志泉明确表...
文章浏览阅读67次。springboot基于SpringBoot的电影社区网站。springboot基于springboot食品销售网站。ssm基于微信平台的校园汉服租赁系统的设计与实现。ssm基于SSM高校教师个人主页网站的设计与实现。ssm基于SSM框架的在线健康系统设计与实现。ssm基于HTML的武昌理工学院二手交易网站。ssm基于JavaEE的网上图书分享系统。ssm基于Javaee的项目任务跟踪系统。
文章浏览阅读61次。负载均衡是指将客户端的请求分发到多个后端服务器,以平衡服务器的负载。反向代理是指将客户端的请求转发到后端服务器,并将响应返回给客户端。通过配置反向代理,Nginx将转发所有来自客户端的请求到后端服务器,并将响应返回给客户端。通过这样的配置,Nginx将根据请求的URL路径选择是将请求转发到后端服务器还是直接返回静态资源文件。通过配置负载均衡,Nginx将按照指定的策略将客户端的请求分发到后端服务器上,从而实现负载均衡。配置反向代理:编辑Nginx配置文件(通常是nginx.conf),在。_php动静分离
文章浏览阅读9.5k次,点赞3次,收藏18次。(一) 语义标签(二)增强型表单(三)视频和音频(四)Canvas绘图(五)SVG绘图(六)地理定位(七)拖放API(八) WebWorker(九) WebStorage(十)Web..._谈谈html5的一些新特性