前端入门——快速理解H5+css中的旋转

news/2024/7/3 18:49:51

前端入门——快速理解H5+css中的旋转

​ 说到旋转,那么必然要确定两个条件,旋转原点 和 旋转方向。

​ 旋转原点: 顾名思义,即旋转是绕着哪个点来进行旋转的

​ 旋转方向: 即绕着哪个方向进行旋转的

​ 实现效果前,先介绍一下几个css属性:

变形原点:

​ transform-orgin: x , y ; (2d用法)

​ transform-origin: x , y , z ; (3d用法)

x 可能的值为: top、 center、 bottom; (原点的垂直方向位置)

​y可能的值为: left、 center、 right; (原点的水平方向位置)

​z可能的值为: … 、-1、 0、1、2、 …

旋转:

2d旋转

​ transform: rotate( 旋转的角度 );

绕原点进行旋转,括号内填角度值,默认为顺时针旋转(角度值为负,则为逆时针旋转)

3d旋转

transform: rotate3d( 是否绕x轴旋转,是否绕x轴旋转,是否绕x轴旋转,旋转的角度);

前三个值 填 1 表示 是, 填 0 表示 否

​最后一个值 填 旋转的角度

旋转的方向都默认为顺时针
注意:需从轴线箭头方向向着(0,0,0)坐标方向看

3d转换

​ transform-style : preserve-3d;

浏览器默认的所有标签为2d,想要实现3d的效果,就必须将需要实现3d效果的标签的父级设置该属性, 即: 将父级设置成一个3d空间,
让子级在3d空间中进行3d操作

2d的旋转

在这里插入图片描述
简单演示:

<!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>Document</title>
    <style>
        /*清除浏览器的默认边距*/
        *{
            margin: 0;
            padding: 0;
        }
        /*这是一个父级盒子,里面有两个小盒子*/
        div{
            width: 200px;
            height: 200px;
            border: 1px solid black;
            margin: 100px auto; /*将盒子放在浏览器中间*/
        }
        /*第一个小盒子*/
        p{
           width: 50px;
           height: 50px;
           background-color: pink;
           /*不设置原点则默认为盒子中心*/
           /*绕盒子中心点顺时针旋转60度*/
           transform: rotate(60deg);
        }
        /*第二个小盒子*/
        h2{
            width: 50px;
            height: 50px;
            background-color: skyblue;

            /*设置原点*/
            transform-origin: left top;
            /*绕左上角顺时针旋转30度*/
            transform: rotate(30deg);
        }
    </style>
</head>
<body>
    <div>
        <p>1</p>
        <h2>2</h2>
    </div>
</body>
</html>

3d的旋转

在这里插入图片描述
简单演示:

<!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>Document</title>
    <style>
        /*清除浏览器的默认边距*/
        *{
            margin: 0;
            padding: 0;
        }
        /*这是一个父级盒子,里面有一个小盒子*/
        div{
            width: 200px;
            height: 200px;
            border: 1px solid black;
            margin: 100px auto; /*将盒子放在浏览器中间*/

            /*形成3d空间*/
            transform-style: preserve-3d;
        }

        /*一个小盒子*/
        p{
           width: 50px;
           height: 50px;
           background-color: pink;
           /*不设置原点则默认为盒子中心*/
           /*盒子绕着x轴转60du,再绕着y轴转60度*/
           transform: rotate3d( 1,1,0,60deg);
        }
    </style>
</head>
<body>
    <div>
        <p>1</p>
    </div>
</body>
</html>

当然了,这只是最基本的对2d和3d的介绍,还有更多的用法和属性值,可以在W3C文档中查看。
最后,祝大家早日成为一个优秀的程序员。


http://www.niftyadmin.cn/n/2404687.html

相关文章

对IP及IP段进行访问限制

本来是写了几个函数&#xff0c;IP黑名单是记到库里的&#xff0c;为了方便理解&#xff0c;改成了一个class把IP黑名单写了出来。 192.168.1.1 单个IP 192.168.1.* 这样代理 192.168.1.1-192.168.1-255 192.158.1.2-20 这样是代表192.158.1.2-192.158.1.20 也可以这样写 192.1…

弹性盒中 flex详解及flex:1的用法解析

弹性盒中 flex详解及flex&#xff1a;1的用法解析 一、flex 在了解 flex&#xff1a;1 之前我们先了解一下flex的属性值有哪些&#xff0c;就如同background一样&#xff0c;有着backgournd-images、background-color、background-position等属性名一样&#xff0c; flex也有…

JavaScript:自增和自减

JavaScript&#xff1a;自增和自减 我一直以为我已经搞明白了自增和自减&#xff0c;直到有一次遇到一道题&#xff0c;我才发现我对于自增和自减并没有完全掌握。 来看看下面这道题&#xff1a; var a 2;console.log(a a a a --a a-- a);你知道答案是多少吗&#xff1f;&a…

c# XML序列化与反序列化

原先一直用BinaryFormatter来序列化挺好&#xff0c;可是最近发现在WinCE下是没有办法进行BinaryFormatter操作&#xff0c;很不爽&#xff0c;只能改成了BinaryWriter和BinaryReader来读写&#xff0c;突然想到能不能用XML来序列化&#xff1f;于是在网上查了些资料便写了些实…

清晰易懂的了解JavaScript中的数据类型转换

清晰易懂的了解JavaScript中的数据类型转换 一、判断数据类型的两种方法&#xff1a; 1、 typeof (检测的数据) ​ var a "hello world";var b 6.5;// 检测a的数据类型console.log(typeof(a)); //string//检测a&#xff0c;b的数据类型console.log(typeof(a…

JavaScript:计算两个数之间奇数的个数

JavaScript&#xff1a;计算两个数之间有几个奇数 给你两个非负整数low和high&#xff0c;其中0 < low < high < 10^9, 请返回两个数之间&#xff08;包括二者&#xff09;奇数的 个数 /*** param {number} low* param {number} high* return {number}*/ var countO…

mssql自动备份及自动清除日志文件教程

1、每日自动备份 强烈建议有条件的用户进行此操作&#xff01; 1、打开企业管理器&#xff0c;在控制台根目录中依次点开Microsoft SQL Server--SQL Server组--双击打开你的服务器 2、然后点上面菜单中的工具--选择数据库维护计划器 3、下一步选择要进行自动备份的数据--下一步…

JavaScript:打印一个等腰三角形

JavaScript&#xff1a;打印一个等腰三角形 for(var i1; i<10; i){for(var j10;j>i;j--){document.write(" "); //打印一个空格&#xff08;占位&#xff09;}for(var k1; k<i; k){document.write("a");}document.write("<br>")…