css+沿正方形旋转,CSS3+SVG+JS 正方形沿着正方本中轴移动翻转的动画

CSS

语言:

CSSSCSS

确定

* {

margin: 0;

padding: 0;

fill: currentColor;

vector-effect: non-scaling-stroke;

}

html {

overflow: hidden;

}

body {

display: flex;

flex-direction: column;

margin: 0;

min-width: 10em;

height: 100vh;

}

body > svg,

body > input,

body > label {

position: absolute;

}

@media (min-aspect-ratio: 105 / 100) and (min-width: 50em) {

body {

flex-direction: row;

}

body pre {

width: 10em;

display: flex;

flex-direction: column;

justify-content: center;

}

}

line {

stroke: currentColor;

stroke-width: 2px;

marker-end: url(#arrow);

vector-effect: non-scaling-stroke;

}

div {

position: absolute;

transform-style: preserve-3d;

}

pre {

order: 1;

padding: .5em 1em;

background: #111;

color: #ccc;

font: .875em/2 courier;

white-space: pre-wrap;

}

@media (min-width: 15em) {

pre {

font-size: 1em;

}

}

@media (min-width: 20em) {

pre {

font-size: 1.25em;

}

}

@media (min-width: 75em) {

pre {

font-size: 1.5em;

}

}

body > svg {

position: absolute;

}

.hidden {

opacity: .001;

}

.scene {

flex: 1;

order: 2;

perspective: 32em;

perspective-origin: calc(50% - 10em) 50%;

}

.cube {

--inradius: 19%;

top: 50%;

left: 50%;

margin: calc(-1*var(--inradius));

padding: var(--inradius);

}

.cube__face {

box-shadow: inset 0 0 0 1px black;

opacity: .5;

background: whitesmoke;

}

.cube__face:nth-child(1) {

transform: rotateY(0deg) translate(50%) rotateY(90deg);

}

.cube__face:nth-child(2) {

transform: rotateY(90deg) translate(50%) rotateY(90deg);

}

.cube__face:nth-child(3) {

transform: rotateY(180deg) translate(50%) rotateY(90deg);

}

.cube__face:nth-child(4) {

transform: rotateY(270deg) translate(50%) rotateY(90deg);

}

.cube__face:nth-child(5) {

transform: rotate(90deg) translate(50%) rotateY(90deg);

}

.cube__face:nth-child(6) {

transform: rotate(-90deg) translate(50%) rotateY(90deg);

}

@media (min-aspect-ratio: 1 / 1) and (min-width: 50em) {

.cube {

--inradius: 15%;

}

}

@media (min-aspect-ratio: 13 / 10) and (min-width: 62.5em) {

.cube {

--inradius: 12.5%;

}

}

@media (min-aspect-ratio: 13 / 10) and (min-width: 75em) {

.cube {

--inradius: 10%;

}

}

@media (min-aspect-ratio: 13 / 10) and (min-width: 100em) {

.cube {

--inradius: 8%;

}

}

.square {

top: 0;

right: 0;

bottom: 0;

left: 0;

}

.square:not(.cube__face) > svg {

width: 100%;

height: 100%;

}

@media (min-width: 20em) {

.square:not(.cube__face):after {

position: absolute;

right: .25em;

bottom: 50%;

font: italic 2em/1.5 times new roman, serif;

content: 'x';

}

}

.ini {

background: rgba(192, 192, 192, 0.65);

}

.ani {

background: rgba(238, 140, 37, 0.75);

}

.basic {

animation: ani 5s linear infinite;

animation-play-state: paused;

}

@keyframes ani {

0%, 20% {

transform: none;

}

40% {

transform: rotateY(-90deg);

}

60% {

transform: rotateY(-90deg) translate(50%);

}

80%,

100% {

transform: rotateY(-90deg) translate(50%) rotateY(90deg);

}

}

.token--fnc {

color: #8ecfee;

}

.token--uni {

color: #d0a4dc;

}

.token--var {

color: #e8a398;

font-weight: 900;

}

[id='run'] {

position: absolute;

left: -100vw;

}

[id='run']:checked ~ .scene .basic {

animation-play-state: running;

}

[id='run']:checked ~ [for='run'] {

opacity: .001;

}

[for='run'] {

display: flex;

justify-content: center;

position: absolute;

z-index: 3;

top: 0;

left: 0;

width: 100vw;

height: 100vh;

opacity: .999;

transition: opacity .5s;

cursor: pointer;

}

[for='run'] svg {

align-self: center;

width: 8em;

height: 8em;

}

[for='run'] svg:hover use {

stroke-dashoffset: 0;

}

[for='run'] * {

fill: none;

stroke: #4ca454;

}

[for='run'] use {

transition: stroke-dashoffset 1s ease-in-out;

stroke-width: .5em;

}

[for='run'] path {

stroke-width: .25em;

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/388351.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Iphone在ScrollView下点击TextField使文本筐不被键盘遮住

1.拖一个Scroll View视图填充View窗口&#xff0c;将Scroll View视图拖大一些&#xff0c;使其超出屏幕。 2.向Scroll View拖&#xff08;添加&#xff09;多个Label视图和Text View视图。 3.在.h头文件中添加如下代码&#xff1a; [cpp] view plaincopyprint?#import <U…

两高发布司法解释 依法严惩涉地下钱庄犯罪

新华社北京1月31日电&#xff08;记者丁小溪&#xff09;最高人民法院、最高人民检察院31日联合发布关于办理非法从事资金支付结算业务、非法买卖外汇刑事案件适用法律若干问题的解释&#xff0c;旨在依法惩治非法从事资金支付结算业务、非法买卖外汇犯罪活动&#xff0c;维护金…

python 仪表盘_如何使用Python刮除仪表板

python 仪表盘Dashboard scraping is a useful skill to have when the only way to interact with the data you need is through a dashboard. We’re going to learn how to scrape data from a dashboard using the Selenium and Beautiful Soup packages in Python. The S…

VS2015 定时服务及控制端

一. 服务端 如下图—新建项目—经典桌面—Windows服务—起名svrr2. 打到server1 改名为svrExecSqlInsert 右击对应的设计界面&#xff0c;添加安装服务目录结构如图 3. svrExecSqlInsert里有打到OnStart()方法开始写代码如下 /// <summary>/// 服务开启操作/// </su…

css文件如何设置scss,Webpack - 如何将scss编译成单独的css文件?

2 个答案:答案 0 :(得分&#xff1a;3)这是我在尝试将css编译成单独文件时使用的webpack.config.js文件|-- App|-- dist|-- src|-- css|-- header.css|-- sass|-- img|-- partials|-- _variables.scss|-- main.scss|--ts|-- tsconfig.json|-- user.ts|-- main.js|-- app.js|-- …

Iphone表视图的简单操作

1.创建一个Navigation—based—Application项目&#xff0c;这样Interface Builder中会自动生成一个Table View&#xff0c;然后将Search Bar拖放到表示图上&#xff0c;以我们要给表示图添加搜索功能&#xff0c;不要忘记将Search Bar的delegate连接到File‘s Owner项&#xf…

PhantomJS的使用

PhantomJS安装下载地址 配置环境变量 成功&#xff01; 转载于:https://www.cnblogs.com/hankleo/p/9736323.html

aws emr 大数据分析_DataOps —使用AWS Lambda和Amazon EMR的全自动,低成本数据管道

aws emr 大数据分析Progression is continuous. Taking a flashback journey through my 25 years career in information technology, I have experienced several phases of progression and adaptation.进步是连续的。 在我25年的信息技术职业生涯中经历了一次闪回之旅&…

21eval 函数

eval() 函数十分强大 ---- 将字符串 当成 有效的表达式 来求职 并 返回计算结果 1 # 基本的数学计算2 print(eval("1 1")) # 23 4 # 字符串重复5 print(eval("* * 5")) # *****6 7 # 将字符串转换成列表8 print(eval("[1, 2, 3, 4]")) # [1,…

联想r630服务器开启虚拟化,整合虚拟化 联想万全R630服务器上市

虚拟化技术的突飞猛进&#xff0c;对运行虚拟化应用的服务器平台的运算性能提出了更高的要求。近日&#xff0c;联想万全R630G7正式对外发布。这款计算性能强劲&#xff0c;IO吞吐能力强大的四路四核服务器&#xff0c;主要面向高端企业级应用而开发。不仅能够完美承载大规模数…

Iphone屏幕旋转

该示例是想在手机屏幕方向发生改变时重新定位视图&#xff08;这里是一个button&#xff09; 1.创建一个View—based Application项目,并在View窗口中添加一个Round Rect Button视图&#xff0c;通过尺寸检查器设置其位置&#xff0c;然后单击View窗口右上角的箭头图标来旋转窗…

先进的NumPy数据科学

We will be covering some of the advanced concepts of NumPy specifically functions and methods required to work on a realtime dataset. Concepts covered here are more than enough to start your journey with data.我们将介绍NumPy的一些高级概念&#xff0c;特别是…

lsof命令详解

基础命令学习目录首页 原文链接&#xff1a;https://www.cnblogs.com/ggjucheng/archive/2012/01/08/2316599.html 简介 lsof(list open files)是一个列出当前系统打开文件的工具。在linux环境下&#xff0c;任何事物都以文件的形式存在&#xff0c;通过文件不仅仅可以访问常规…

Xcode中捕获iphone/ipad/ipod手机摄像头的实时视频数据

目的&#xff1a;打开、关闭前置摄像头&#xff0c;绘制图像&#xff0c;并获取摄像头的二进制数据。 需要的库 AVFoundation.framework 、CoreVideo.framework 、CoreMedia.framework 、QuartzCore.framework 该摄像头捕抓必须编译真机的版本&#xff0c;模拟器下编译不了。 函…

统计和冰淇淋

Photo by Irene Kredenets on UnsplashIrene Kredenets在Unsplash上拍摄的照片 摘要 (Summary) In this article, you will learn a little bit about probability calculations in R Studio. As it is a Statistical language, R comes with many tests already built in it, …

信息流服务器哪种好,选购存储服务器需要注意六大关键因素,你知道几个?

原标题&#xff1a;选购存储服务器需要注意六大关键因素&#xff0c;你知道几个&#xff1f;信息技术的飞速发展带动了整个信息产业的发展。越来越多的电子商务平台和虚拟化环境出现在企业的日常应用中。存储服务器作为企业建设环境的核心设备&#xff0c;在整个信息流中承担着…

t3 深入Tornado

3.1 Application settings 前面的学习中&#xff0c;在创建tornado.web.Application的对象时&#xff0c;传入了第一个参数——路由映射列表。实际上Application类的构造函数还接收很多关于tornado web应用的配置参数。 参数&#xff1a; debug&#xff0c;设置tornado是否工作…

vml编辑器

<HTML xmlns:v> <HEAD> <META http-equiv"Content-Type" content"text/html; Charsetgb2312"> <META name"GENERATOR" content"网络程序员伴侣(Lshdic)2004"> <META name"GENERATORDOWNLOADADDRESS&q…

对数据仓库进行数据建模_确定是否可以对您的数据进行建模

对数据仓库进行数据建模Some data sets are just not meant to have the geospatial representation that can be clustered. There is great variance in your features, and theoretically great features as well. But, it doesn’t mean is statistically separable.某些数…

15 并发编程-(IO模型)

一、IO模型介绍 1、阻塞与非阻塞指的是程序的两种运行状态 阻塞&#xff1a;遇到IO就发生阻塞&#xff0c;程序一旦遇到阻塞操作就会停在原地&#xff0c;并且立刻释放CPU资源 非阻塞&#xff08;就绪态或运行态&#xff09;&#xff1a;没有遇到IO操作&#xff0c;或者通过某种…