20210113贺佳磊
知识点总结
1、transform
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>transfrom</title>
<style type="text/css">
.box{
width: 400px;
height: 400px;
position: relative;
transform-style: preserve-3d;
transition: 1.5s;
margin: 100px auto;
perspective: 900px;
}
.box:hover{
transform: rotateY(180deg);
}
.lv,.lan{
width: 400px;
height: 400px;
border-radius: 50%;
text-align: center;
line-height: 400px;
font-size: 25px;
background-color: aquamarine;
}
.lv{
position: absolute;
}
.lan{
background-color: aqua;
transform: rotateY(180deg);
}
</style>
</head>
<body>
<div class="box">
<div class="lv">西安培华学院</div>
<div class="lan">计科四班</div>
</div>
</body>
</html>
值 | |
---|---|
none | 定义不进行转换。 |
translate(x,y) | 定义 2D 转换。移动 |
translate3d(x,y,z) | 定义 3D 转换。 |
translateX(x) | 定义转换,只是用 X 轴的值。 |
translateY(y) | 定义转换,只是用 Y 轴的值。 |
translateZ(z) | 定义转换,只是用 Z 轴的值。 |
scale(x[,y]?) | 定义 2D 缩放转换。 |
scale3d(x,y,z) | 定义 3D 缩放转换。 |
skew(x-angle,y-angle) | 定义沿着 X 和 Y 轴的 2D 倾斜转换。 |
rotate(angle) | 定义 2D 旋转,在参数中规定角度。 |
rotate3d(x,y,z,angle) | 定义 3D 旋转。 |
rotateX(angle) | 定义沿着 X 轴的 3D 旋转。 |
rotateY(angle) | 定义沿着 Y 轴的 3D 旋转。 |
rotateZ(angle) | 定义沿着 Z 轴的 3D 旋转。 |
2、transition
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>transfrom导航栏</title>
<style type="text/css">
.box{
margin: 100px auto;
margin-left: 100px;
transform-style: preserve-3d;
transition: all 2s linear;
}
.box:hover{
transform: rotateX(90deg);
}
.up,.down{
width: 300px;
height: 100px;
text-align: center;
line-height: 100px;
font-size: 30px;
transition: 1.5s;
border-radius: 50px;
}
.up{
position: absolute;
background-color: black;
color: white;
transform: translateZ(50px);
}
.down{
background-color: antiquewhite;
transform:translateY(50px) rotateX(-90deg);
}
</style>
</head>
<body>
<div class="box">
<div class="up">今天</div>
<div class="down">明天</div>
</div>
</body>
</html>
transition 属性设置元素当过渡效果,四个简写属性为:
transition-property :指定CSS属性的name,transition效果
transition-duration :transition效果需要指定多少秒或毫秒才能完成
transition-timing-function :指定transition效果的转速曲线
transition-delay :定义transition效果开始的时候
transition-timing-function 常用的值有:
值 | |
---|---|
linear | 规定以相同速度开始至结束的过渡效果(等于 cubic-bezier(0,0,1,1))。 |
ease | 规定慢速开始,然后变快,然后慢速结束的过渡效果(cubic-bezier(0.25,0.1,0.25,1))。 |
ease-in | 规定以慢速开始的过渡效果(等于 cubic-bezier(0.42,0,1,1))。 |
ease-out | 规定以慢速结束的过渡效果(等于 cubic-bezier(0,0,0.58,1))。 |
ease-in-out | 规定以慢速开始和结束的过渡效果(等于 cubic-bezier(0.42,0,0.58,1))。 |
3、动画
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>旋转相册</title>
<style type="text/css">
body{
perspective: 800px;
}
.box{
position: relative;
margin: 200px auto;
width: 400px;
height: 200px;
transform-style: preserve-3d;
animation: turn 5s linear infinite;
transform: rotateX(-20deg);
}
.box:hover{
animation-play-state: paused;
}
.box>div{
position: absolute;
top: 0;
left: 0;
width: 400px;
height: 300px;
background-image: url(others/1.jpg);
background-repeat: no-repeat;
background-size:contain ;
}
.box>div:nth-child(1){
transform: translateZ(450px);
}
.box>div:nth-child(2){
transform: rotateY(60deg) translateZ(450px);
}
.box>div:nth-child(3){
transform: rotateY(120deg) translateZ(450px);
}
.box>div:nth-child(4){
transform: rotateY(180deg) translateZ(450px);
}
.box>div:nth-child(5){
transform: rotateY(240deg) translateZ(450px);
}
.box>div:nth-child(6){
transform: rotateY(300deg) translateZ(450px);
}
@keyframes turn{
from {transform: rotateX(-20deg) rotateY(0deg);}
to {transform: rotateX(-20deg) rotateY(360deg);}
}
</style>
</head>
<body>
<div class="box">
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
</div>
</body>
</html>
值 | 说明 |
---|---|
animation-name | 指定要绑定到选择器的关键帧的名称 |
animation-duration | 动画指定需要多少秒或毫秒完成 |
animation-timing-function | 设置动画将如何完成一个周期 |
animation-delay | 设置动画在启动前的延迟间隔。 |
animation-iteration-count | 定义动画的播放次数。infifinite 无限次 |
animation-direction* | 指定是否应该轮流反向播放动画。 |
animation-fifill-mode | 规定当动画不播放时(当动画完成时,或当动画有一个延迟未开始播放时),要应用到元素的样式。 |
animation-play-state | 时),要应用到元素的样式。指定动画是否正在运行或已暂停。 |
4、布局(排版)
CSS页面布局技术允许我们拾取网页中的元素,并且控制它们相对正常布局流、周边元素、父容器或者
主视口/窗口的位置。在这将涉及更多关于页面布局技术的细节:
正常布局流
display 属性
弹性盒子
网格
浮动
定位
CSS 表格布局
多列布局
心得体会
第三天了哦,我能感觉到自己的进步真的很大,今天老师讲用css做动画效果,讲完让我们自己练习,我都可以自己用代码实现,其实这些东西真的需要自己下去多练习,熟能生巧嘛。就这样一天忙忙碌碌又收获满满的结束啦,有收获就有疑问,今天有一个小点我还不太懂,就是相对定位和绝对定位,希望老师可以抽空讲一讲,嘻嘻。就这样,明天继续努力,多学多练,加油!
近期评论