HTML与CSS中2D如何转换模块
本篇文章为大家展示了HTML与CSS中2D如何转换模块,代码简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
一. 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></li> <li></li> <li></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>  </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></li> <li></li> <li></li> <li></li> </ul> </body> </html>
上述内容就是HTML与CSS中2D如何转换模块,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注亿速云行业资讯频道。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。