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>![](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>
相信看了本文案例你已经掌握了方法,更多精彩请关注其它相关文章!
推荐阅读:
以上就是HTML与CSS中2D转换模块的详细内容,更多请关注其它相关文章!
上一篇: HTML与CSS中的动画模块
推荐阅读
-
HTML 5中SVG 2D笔画与填充
-
前端笔记知识点整合之HTML5&CSS3(下)2D/3D转换&animate动画
-
css3中2D转换之有趣的transform形变效果
-
HTML5 利用CSS3 中的3D 模块绘制一个旋转3D正方体
-
html5+css3之CSS中的布局与Header的实现
-
CSS之2D转换模块
-
iis7.5中让html与shtml一样支持include功能(添加模块映射)
-
外部引用CSS中 link与@import的区别_html/css_WEB-ITnose
-
请教大牛!HTML中TEXT内如何让空格与普通字符宽度一样?_html/css_WEB-ITnose
-
css3中变形与动画(二)_html/css_WEB-ITnose