表的预备知识
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>对于表的一些预备知识</title>
</head>
<style>
*{
margin: 0;
padding: 0;
}
.sec-wrapper{
width: 500px;
height: 500px;
background-color: white;
/*秒针本身并不转,转的是里面的容器*/
animation: run 60s;
}
.sec{
height: 250px;
width: 4px;
background-color: brown;
margin: 0 auto;
/* animation: run 60s;/*但是现在是绕着中心转而不是绕着杆的一头转 */
}
@keyframes run{
from{
transform: rotateZ(0);
}
to{
transform: rotateZ(360deg);
}
}
</style>
<body>
<!-- 在外面加一个父元素,让父元素转-->
<div class="sec-wrapper">
<div class="sec"></div></div>
</body>
</html>
钟表
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<style>
* {
margin: 0;
padding: 0;
}
.clock {
width: 500px;
height: 500px;
background-color: antiquewhite;
margin: 0 auto;
margin-top: 100px;
border-radius: 50%;
/* border: 5px solid black; */
position: relative;
background-image: url(./picture/clock.png);
background-size: cover;
}
.clock>div {
/*让钟表里面的所有元素居中*/
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
margin: auto;
}
.hour-wrapper {
width: 60%;
height: 60%;
/* background-color: aqua; */
animation: run 21600s steps(12) infinite;
}
.hour {
height: 50%;
width: 6px;
background-color: black;
margin: 0 auto;
}
/*设置分针*/
.minute-wrapper {
width: 70%;
height: 70%;
/* background-color: aqua; */
animation: run 3600s steps(60) infinite;
}
.minute {
height: 50%;
width: 4px;
background-color: black;
margin: 0 auto;
}
.second-wrapper {
width: 85%;
height: 85%;
/*加上steps就是一下以下的感觉,不加就是很流畅的感觉*/
animation: run 60s steps(60) infinite;
}
.second {
height: 50%;
width: 2px;
background-color: red;
margin: 0 auto;
}
/*旋转的关键帧*/
@keyframes run {
from {
transform: rotateZ(0);
}
to {
transform: rotateZ(360deg);
}
}
</style>
<body>
<!--创建表的容器-->
<div class="clock">
<!--创建时针的容器-->
<div class="hour-wrapper">
<div class="hour"></div>
</div>
<!--创建分针的容器-->
<div class="minute-wrapper">
<div class="minute"></div>
</div>
<!--创建秒针的容器-->
<div class="second-wrapper">
<div class="second"></div>
</div>
</div>
</body>
</html>
正方体旋转
我觉得这个地方可以用手比量一下,本来两张图片叠在一起,一个沿Y轴+90度,一个-90度,然后他俩是立着的,这个时候呢,左边右边这个方向就是他们的Z轴,也就是正对着照片的那一面是Z轴
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>正方体 复仇者联盟</title>
</head>
<style>
html{
perspective: 800px;
}
.cube{
width: 200px;
height: 200px;
background-color: rgb(85, 245, 170);
margin: 100px auto;
/*设置3D变形效果*/
transform-style: preserve-3d;
transform: rotateX(45deg) rotateZ(45deg);
animation: run 10s infinite linear;
}
.cube>div{
width: 200px;
height: 200px;
/*为图片设置透明效果*/
opacity: 0.7;
/*让照片脱离文档流,叠在一起*/
position:absolute;
}
/*这个时候两张图片并没有挨在一起,我们可以设置*/
img{
vertical-align: top;
}
.box1{
transform: rotateY(90deg) translateZ(100px);
/*或者说这样也是对的
要分辨一下,转着账图片是先平移了还是先转方向了
transform:translateX(100px) rotateY(90deg) ;*/
}
.box2{
transform: rotateY(-90deg) translateZ(100px);
}
.box3{
transform: rotateX(90deg) translateZ(100px);
}
.box4{
transform: rotateX(-90deg) translateZ(100px);
}
.box5{
transform:rotateY(0) translateZ(100px);
}
.box6{
transform:rotateY(180deg) translateZ(100px);
}
@keyframes run {
from{
transform: rotateX(0) rotateZ(0);
}
to{
transform: rotateX(360deg) rotateZ(1turn);
}
}
</style>
<body>
<!--创建外部容器-->
<div class="cube">
<div class="box1">
<img src="./picture/fu (1).png" alt="">
</div>
<div class="box2">
<img src="./picture/fu (2).png" alt="">
</div>
<div class="box3">
<img src="./picture/fu (3).png" alt="">
</div>
<div class="box4">
<img src="./picture/fu (4).png" alt="">
</div><div class="box5">
<img src="./picture/fu (5).png" alt="">
</div>
<div class="box6">
<img src="./picture/fu (6).png" alt="">
</div>
</div>
</body>
</html>
缩放&变形位置
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<style>
.box1 {
width: 200px;
height: 200px;
background-color: bisque;
transition: 2s;
/*变形的起始点,
/* transform-origin:center; */
transform-origin: 0 0;
}
.box1:hover {
/*
对元素进行缩放的
scaleX()水平方向的缩放
scaleY()垂直方向的缩放
transform: scale(2);
transform: scale(.3);
*/
transform: scale(2);
}
.img-wrapper {
width: 200px;
height: 200px;
border: 1px solid red;
/*放大之后,会有多余的部分,把它裁掉*/
overflow: hidden;
}
img {
transition: all .5s;
}
.img-wrapper:hover img {
transform: scale(1.2);
}
</style>
<body>
<div class="box1"></div>
<div class="img-wrapper">
<img src="./picture/fu (2).png" width="100%">
</div>
</body>
</html>