CSS3 & transition & animation
CSS3 & transition & animation
https://developer.mozilla.org/en-US/docs/Web/CSS/transition-timing-function
.circle-box{
position: relative;
margin: 100px auto;
width: 300px;
height: 300px;
background: #ccc;
border: 1px solid red;
border-radius: 50%;
transform: rotate(var(--defaultAngle));
transition: 1s 0.5s all ease-in-out;
/* animation: autoRotate 1s 1 both ease; */
}
.rotate-angle {
transform: rotate(var(--newAngle));
}
https://developer.mozilla.org/zh-CN/docs/Web/CSS/animation-timing-function
.circle-box{
position: relative;
margin: 100px auto;
width: 300px;
height: 300px;
background: #ccc;
border: 1px solid red;
border-radius: 50%;
transform: rotate(var(--defaultAngle));
/*transition: 1s 0.5s all ease-in-out; */
animation: autoRotate 1s 1 both ease;
}
.rotate-angle {
transform: rotate(var(--newAngle));
}
@keyframes autoRotate {
0% {
transform: rotate3d(0, 0, 1, var(--defaultAngle));
}
to {
transform: rotate3d(0, 0, 1, var(--newAngle));
}
}
@keyframes autoRotate {
0% {
transform: rotate3d(0, 0, 1, var(--beginAngle));
}
to {
transform: rotate3d(0, 0, 1, var(--endAngle));
}
}
full demo
@charset "UTf-8";
/* app.css */
:root{
--beginAngle: 0deg;
--endAngle: 0deg;
/* fixed angle enums */
--defaultAngle: 0deg;
--newAngle: 30deg;
/* positive */
--rotateAngle30: 30deg;
--rotateAngle60: 60deg;
--rotateAngle90: 90deg;
--rotateAngle120: 120deg;
--rotateAngle150: 150deg;
--rotateAngle180: 180deg;
--rotateAngle210: 210deg;
--rotateAngle240: 240deg;
--rotateAngle270: 270deg;
--rotateAngle300: 300deg;
--rotateAngle330: 330deg;
--rotateAngle360: 360deg;
/* negative */
--rotateAngle-30: -30deg;
--rotateAngle-60: -60deg;
--rotateAngle-90: -90deg;
--rotateAngle-120: -120deg;
--rotateAngle-150: -150deg;
--rotateAngle-180: -180deg;
--rotateAngle-210: -210deg;
--rotateAngle-240: -240deg;
--rotateAngle-270: -270deg;
--rotateAngle-300: -300deg;
--rotateAngle-330: -330deg;
--rotateAngle-360: -360deg;
}
* {
box-sizing: border-box;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
}
html, body, div, h1, h2, h3, h4, h5, h6, hr, p, blockquote, dl, dt, dd, ul, ol, li, pre, form, fieldset, object, code, legend, button, input, textarea, th, td, a, img, video {
margin: 0;
padding: 0;
border: 0;
outline: 0;
}
.data-btn{
padding: 1px 6px;
border-width: 2px;
border-style: outset;
border-color: buttonface;
border-image: initial;
cursor: default;
}
.circle-box{
position: relative;
margin: 100px auto;
width: 300px;
height: 300px;
background: #ccc;
border: 1px solid red;
border-radius: 50%;
transform: rotate(var(--defaultAngle));
transition: 1s 0.5s all ease-in-out;
/* animation: autoRotate 1s 1 both ease; */
}
.rotate-angle {
transform: rotate(var(--newAngle));
}
@keyframes autoRotate {
0% {
transform: rotate3d(0, 0, 1, var(--defaultAngle));
}
to {
transform: rotate3d(0, 0, 1, var(--newAngle));
}
}
@keyframes autoRotate {
0% {
transform: rotate3d(0, 0, 1, var(--beginAngle));
}
to {
transform: rotate3d(0, 0, 1, var(--endAngle));
}
}
.menus-mask {
position: absolute;
top: 230px;
left: 50%;
transform: translate(-50%);
width: 600px;
height: 400px;
background: rgba(123,123,123,0.5);
z-index: 999;
}
.horizontal-line{
position: absolute;
width: 50vw;
height: 0;
border-top: 1px solid red;
top: calc(100px + 300px / 2);
left: 50%;
transform: translateX(-50%);
}
.vertical-line {
position: absolute;
width: 0;
height: calc(50vh + 300px /2 );
border-left: 1px solid red;
top: calc(100px / 2);
left: 50%;
transform: translateX(-50%);
}
.circle {
/* position: absolute; */
width: 30px;
height: 30px;
line-height: 30px;
background: #f0f;
text-align: center;
vertical-align: middle;
cursor: pointer;
border-radius: 0 0 15px 15px;
}
/*
.circle::before {
content: "";
width: 6px;
height: 6px;
position: absolute;
left: 9px;
top: 0px;
border: 2px solid #FFF;
border-radius: 50%;
z-index: -1;
}
.circle::after {
content: "";
position: absolute;
left: 50%;
top: 100%;
height: 30px;
width: 30px;
background-color: #00c991;
border-radius: 50% 50% 0;
transform: translate(-50%, -50%) rotate(45deg);
z-index: -1;
} */
.circle-highlight::after {
background-color: #f82eb5;
}
.circle1{
transform: rotate(-60deg) translateX(-50px) translateY(35px);
}
.circle2{
transform: rotate(-30deg) translateX(calc(150px - 87px)) translateY(9px);
}
.circle3{
transform: rotate(0deg) translateX(calc(150px - 15px)) translateY(-73px);
}
.circle4{
transform: rotate(30deg) translateX(calc(150px + -13px)) translateY(-175px);
}
.circle5{
transform: rotate(60deg) translateX(80px) translateY(-255px);
}
.circle6{
transform: rotate(90deg) translateX(-15px) translateY(calc(-300px + 15px));
}
.circle7{
transform: rotate(120deg) translateX(calc(-106px)) translateY(-243px);
}
.circle8{
transform: rotate(150deg) translateX(-155px) translateY(-150px);
}
.circle9{
transform: rotate(180deg) translateX(calc(-150px + 15px)) translateY(-45px);
}
.circle10{
transform: rotate(-150deg) translateX(-47px) translateY(35px);
}
.circle11{
transform: rotate(-120deg) translateX(77px) translateY(50px);
}
.circle12{
transform: rotate(-90deg) translateX(calc(195px)) translateY(-15px);
}
.menus {
background: url("./menus.svg")
}
cubic-bezier
cubic-bezier(p1, p2, p3, p4)
An author defined cubic-Bezier curve, where the p1 and p3 values must be in the range of 0 to 1.
.test{
transition-timing-function: cubic-bezier(.29, 1.01, 1, -0.68);
}
.cb {
transition-timing-function: cubic-bezier(0.2,-2,0.8,2);
}
贝塞尔曲线
https://developer.mozilla.org/en-US/docs/Web/CSS/timing-function
https://developer.mozilla.org/zh-CN/docs/Web/CSS/timing-function
https://en.wikipedia.org/wiki/Bézier_curve#Cubic_B.C3.A9zier_curves
repl online
https://cubic-bezier.com/#.17,.67,.83,.67
https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Animations/Using_CSS_animations
xgqfrms 2012-2020
www.cnblogs.com 发布文章使用:只允许注册用户才可以访问!
CSS3 & transition & animation的更多相关文章
- css3 transition animation nick
时光转眼即逝,又到周六了,今天写点某部分人看不起的css玩玩! 转换 转换属性transform: 浏览器前缀: -webkit-transform;-o-transform;-moz-transfo ...
- css笔记——区分css3中的transform transition animation
出处:http://blog.csdn.net/dyllove98/article/details/8957232 CSS3中和动画有关的属性有三个 transform. transition ...
- css3动画transition animation
CSS动画简介 transition animation transition过渡:css3通过transitions属性引入时间概念,通过开始.结束状态自动计算中间状态,实现状态改变的过渡效果 ...
- css3 transition属性
最近打算学习css3知识,觉得css3写出来的效果好炫好酷,之前一直想要学习来着.可能之前的决心,毅力,耐心不够,所以想要重整起来,放下浮躁的心态,一步一个脚印,踏踏实实的来学习. 首先学习的是css ...
- Atitti css transition Animation differ区别
Atitti css transition Animation differ区别 1.1. transition的优点在于简单易用,但是它有几个很大的局限. 1 1.2. Transition ...
- Atitti css transition Animation differ区别
Atitti css transition Animation differ区别 1.1. transition的优点在于简单易用,但是它有几个很大的局限. 1 1.2. js 动态改变 st ...
- 【转】CSS3 transition规范的实际使用经验
原文转自:http://blog.jobbole.com/56243/ 本篇文章主要讲述CSS3 transition规范和在不同浏览器之间的使用差异,关于具体解决方法或如何规避问题的意见可以参考另一 ...
- CSS3 transition规范的实际使用经验
本篇文章主要讲述CSS3 transition规范和在不同浏览器之间的使用差异,关于具体解决方法或如何规避问题的意见可以参考另一篇非常有见地的文章,“All You Need to Know Abou ...
- css 动画 transform transition animation
1.transform transform 是通过在浏览器里面让网页元素 移动 旋转 透明 模糊 等方法来实现改变其外观的技术 -webkit-transform : translate(3em,0 ...
随机推荐
- 日记 + sb错误
置顶消息cpdd 1.29 完了,文化课没了 我是废物 1.28 更新了自己的副标题 前副标题:Future never has to do with past time,but present ti ...
- Spring5源码,Spring DispatecherServlet的生命周期
一.前端控制器模式 二.DispatcherServlet的执行链 三.DispatcherServlet 1.策略初始化 2.请求预处理 3.请求处理 4.视图解析 5.处理调度请求 - 视图渲染 ...
- 2.DHCP的基本概念
1.DHCP典型组网 DHCP组网中,包括以下三种角色: DHCP服务器 DHCP服务器负责从地址池中选择IP地址分配至DHCP客户端,还可以为DHCP客户端提供其他网络参数,如默认网关地址.DNS服 ...
- go语言常见面试题
前言 从网上找了一些面试题,觉得有意思的我都记录下来,自己学习和大家一起学习吧. 有些初级的题目只放答案,一些值得探讨的问题我会写上我自己的分析过程,希望大家多多交流. 原文链接 选择题 1.[初级] ...
- Inceptor常用SQL
1.创建数据库 建一个数据库exchange_platform. DROP DATABASE IF EXISTS exchange_platform CASCADE; CREATE DATABASE ...
- Testing Beta Round (Unrated)
比赛链接:https://codeforces.com/contest/1390 A. 123-sequence 题意 给出一个只含有 $1,2,3$ 的数组,问使所有元素相同至少要替换多少元素. 题 ...
- 2020牛客暑期多校训练营 (第二场) All with Pairs
传送门:All with Pairs 题意:给你n个字符串,求出,f(si,sj)的意思是字符串 si 的前缀和字符串 sj 后缀最长相等部分. 题解:先对所有的字符串后缀hash,用map记录每个h ...
- 吉哥系列故事――恨7不成妻 HDU - 4507
题目: 单身! 依然单身! 吉哥依然单身! DS级码农吉哥依然单身! 所以,他生平最恨情人节,不管是214还是77,他都讨厌! 吉哥观察了214和77这两个数,发现: 2+1+4=7 7+7=7*2 ...
- 远程连接 出现身份验证错误,要求的函数不受支持(这可能是由于CredSSP加密Oracle修正)
修改本地组策略: 计算机配置>管理模板>系统>凭据分配>加密Oracle修正 选择启用并选择"易受攻击". 原文:https://blog.csdn.net ...
- VRRP(Virtual Router Redundancy Protocol) 虚拟路由器冗余协议简介
因工作中使用Keepalived配置Nginx代理和MySQL代理的高可用,而Keepalived是VRRP协议在linux上的软件实现.因此了解了下VRRP的基础. 1. VRRP技术的引入 随着I ...