Web前端实训day2
-
float 浮动
指定一个元素应沿其容器的左侧或右侧放置,允许文本和内联元素环绕它。
(1)left 元素必须浮动在其所在的块容器左侧。
(2)right 元素必须浮动在其所在的块容器右侧。
(3)none 元素不进行浮动。
(4)inline-start 元素必须浮动在其所在块容器的开始一侧。
(5)inline-end 元素必须浮动在其所在块容器的结束一侧。 -
position 定位
用于指定一个元素在文档中的定位方式。
top,right,bottom 和 left 属性则决定了该元素的最终位置。
(1)static 指定元素使用正常的布局行为,即元素在文档常规流中当前的布局位置。
(2)relative 元素先放置在未添加定位时的位置,再在不改变页面布局的前提下调整元素位置。
(3)absolute 元素会被移出正常文档流,并不为元素预留空间,通过指定元素相对于最近的非 static 定位祖先元素的偏移,来确定元素位置。
(4)fixed 元素会被移出正常文档流,并不为元素预留空间,而是通过指定元素相对于屏幕视口的位置来指定元素位置。元素的位置在屏幕滚动时不会改变。 -
transform 变形
允许旋转,缩放,倾斜或平移给定元素。这是通过修改CSS视觉格式化模型的坐标空间来实现的。
(1)translate 移动:允许单独声明平移变换,并独立于 transform 属性。
(2)rotate 旋转:定义了一种将元素围绕一个定点(由transform-origin属性指定)旋转而不变形的转换。指定的角度定义了旋转的量度。
(3)scale缩放:用于修改元素的大小。可以通过向量形式定义的缩放值来放大或缩小元素,同时可以在不同的方向设置不同的缩放值。 -
animation 动画
animation 属性是一个简写属性,用于设置六个动画属性:
animation-name
animation-duration
animation-timing-function
animation-delay
animation-iteration-count
animation-direction
注:请始终规定 animation-duration 属性,否则时长为 0,就不会播放动画了。 -
课堂案例:旋转立方体
<!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>
<style>
/* 定义关键帧动画 */
/* @keyframes 动画名 {
关键帧
} */
@keyframes roll {
from {
transform: rotateX(0) rotateY(0) rotateZ(0);
}
to {
transform: rotateX(360deg) rotateY(720deg) rotateZ(360deg);
}
}
* {
margin: 0;
padding: 0;
}
div {
width: 200px;
height: 200px;
background-color: skyblue;
line-height: 200px;
text-align: center;
color: white;
font-size: 100px;
position: absolute;
}
.wrap {
padding: 100px;
background-color: transparent;
transform-style: preserve-3d; /*开启3D效果*/
/* animation: 动画名 动画执行时间 [动画延迟时间 动画运动曲线 运动次数 是否反向执行 是否保留最后一帧] */
animation: roll 8s linear infinite;
}
.wrap div:nth-of-type(1) {
transform: rotateY(-90deg) translateZ(100px);
}
.wrap div:nth-of-type(2) {
transform: rotateY(90deg) translateZ(100px);
background-color: tomato;
}
.wrap div:nth-of-type(3) {
transform: rotateX(90deg) translateZ(100px);
background-color: plum;
}
.wrap div:nth-of-type(4) {
transform: rotateX(-90deg) translateZ(100px);
background-color: greenyellow;
}
.wrap div:nth-of-type(5) {
transform: translateZ(100px);
background-color: gold;
}
.wrap div:nth-of-type(6) {
transform: rotateX(180deg) translateZ(100px);
background-color: hotpink;
}
img{
height:100%;
width:100%;
}
</style>
</head>
<body>
<div class="wrap">
<!-- 左右 -->
<div>
<img src="D:\360MoveData\Users\wqhs\Desktop\实训-web前端\1.jpg" />
</div>
<div>
<img src="D:\360MoveData\Users\wqhs\Desktop\实训-web前端\2.jpg" />
</div>
<!-- 上下 -->
<div>
<img src="D:\360MoveData\Users\wqhs\Desktop\实训-web前端\3.jpg" />
</div>
<div>
<img src="D:\360MoveData\Users\wqhs\Desktop\实训-web前端\4.jpg" />
</div>
<!-- 前后 -->
<div>
<img src="D:\360MoveData\Users\wqhs\Desktop\实训-web前端\5.jpg" />
</div>
<div>
<img src="D:\360MoveData\Users\wqhs\Desktop\实训-web前端\6.jpg" />
</div>
</div>
</body>
</html>