时间:2021-07-01 10:21:17 帮助过:19人阅读
一. 2D转换模块
2D转换模块
/*其中deg是单位, 代表多少度*/
transform: rotate(45deg);/*
第一个参数:水平方向
第二个参数:垂直方向
*/transform: translate(100px, 0px);/*
第一个参数:水平方向
第二个参数:垂直方向
注意点:
如果取值是1, 代表不变
如果取值大于1, 代表需要放大
如果取值小于1, 代表需要缩小
如果水平和垂直缩放都一样, 那么可以简写为一个参数
*//*transform: scale(0.5, 0.5);*/transform: scale(1.5);/*
注意点:
1.如果需要进行多个转换, 那么用空格隔开
2.2D的转换模块会修改元素的坐标系, 所以旋转之后再平移就不是水平平移的
*/transform: rotate(45deg) translate(100px, 0px);
2D转换模块
二. 2D转换模块-形变中心点
默认情况下所有的元素都是以自己的中心点作为参考来旋转的, 我们可以通过形变中心点属性来修改它的参考点
/* 第一个参数:水平方向 第二个参数:垂直方向 注意点 取值有三种形式 具体像素 百分比 特殊关键字 */ /*transform-origin: 200px 0px;*/ /*transform-origin: 50% 50%;*/ /*transform-origin: 0% 0%;*/ /*transform-origin: center center;*/ transform-origin: left top;
三.透视属性(perspective: 500px;) 和 旋转轴向 (transform: rotateY(45deg);)
1.perspective: 500px;
1.1什么是透视
近大远小
1.2.注意点
一定要注意, 透视属性必须添加到需要呈现近大远小效果的元素的父元素上面
2.transform: rotateY(45deg);
想围绕哪个轴旋转, 那么只需要在rotate后面加上哪个轴即可;
代码示例:
<html lang="en"> <head> <meta charset="UTF-8"> <title>95-2D转换模块-旋转轴向</title> <style> *{ margin: 0; padding: 0; } ul{ width: 800px; height: 500px; margin: 0 auto; } ul li{ list-style: none; width: 200px; height: 200px; margin: 0 auto; margin-top: 50px; border: 1px solid #000; /* 1.什么是透视 近大远小 2.注意点 一定要注意, 透视属性必须添加到需要呈现近大远小效果的元素的父元素上面 */ perspective: 500px; } ul li img{ width: 200px; height: 200px; /*perspective: 500px;*/ } ul li:nth-child(1){ /*默认情况下所有元素都是围绕Z轴进行旋转*/ transform: rotateZ(45deg); } ul li:nth-child(2) img{ transform: rotateX(45deg); } ul li:nth-child(3) img{ /* 总结: 想围绕哪个轴旋转, 那么只需要在rotate后面加上哪个轴即可 */ transform: rotateY(45deg); } </style> </head> <body> <ul> <li>![](images/rotateZ.jpg)</li> <li>![](images/rotateX.jpg)</li> <li>![](images/rotateY.jpg)</li> </ul> </body> </html>
四. 扑克牌练习
<html lang="en"> <head> <meta charset="UTF-8"> <title>96-2D转换模块-练习</title> <style> *{ margin: 0; padding: 0; } p{ width: 310px; height: 438px; border: 1px solid #000; background-color: skyblue; margin: 100px auto; perspective: 500px; } p img{ transform-origin: center bottom; transition: transform 1s; } p:hover img{ transform: rotateX(80deg); } </style> </head> <body> <p> ![](images/pk.png) </p> </body> </html>
五. 照片墙
<html lang="en"> <head> <meta charset="UTF-8"> <title>97-2D转换模块-相片墙</title> <style> *{ margin: 0; padding: 0; } ul{ height: 400px; border: 1px solid #000; background-color: skyblue; margin-top: 100px; text-align: center; } ul li{ list-style: none; width: 150px; height: 200px; background-color: red; display: inline-block; //转换成行内块级元素,用于水平排版 margin-top: 100px; transition: all 1s; position: relative; box-shadow: 0 0 10px; } ul li:nth-child(1){ transform: rotate(30deg); } ul li:nth-child(2){ transform: rotate(-40deg); } ul li:nth-child(3){ transform: rotate(10deg); } ul li:nth-child(4){ transform: rotate(45deg); } ul li img{ width: 150px; height: 200px; border: 5px solid #fff; box-sizing: border-box; } ul li:hover{ /*transform: rotate(0deg);*/ /*transform: none;*/ transform: scale(1.5); //之前的旋转被层叠掉, 只执行放大 z-index: 998; //显示在最上面 } </style> </head> <body> <ul> <li>![](images/1.jpg)</li> <li>![](images/2.jpg)</li> <li>![](images/3.jpg)</li> <li>![](images/4.jpg)</li> </ul> </body> </html>
相信看了本文案例你已经掌握了方法,更多精彩请关注Gxl网其它相关文章!
推荐阅读:
网页的布局方式之清除浮动
网页的布局方式与浮动
HTML与CSS的盒子模型
CSS的背景与精灵图
以上就是HTML与CSS中2D转换模块的详细内容,更多请关注Gxl网其它相关文章!