加入收藏 | 设为首页 | 会员中心 | 我要投稿 厦门网 (https://www.xiamenwang.cn/)- 数据采集、建站、AI开发硬件、专属主机、云硬盘!
当前位置: 首页 > 教程 > 正文

css上如何实现以一个点为定点旋转

发布时间:2023-07-25 10:24:04 所属栏目:教程 来源:转载
导读:   为大家详细介绍“css如何实现以一个点为定点旋转”,内容详细,步骤清晰,细节处理妥当,希望这篇“css如何实现以一个点为定点旋转”文章能帮助大家解决疑惑,下面
  为大家详细介绍“css如何实现以一个点为定点旋转”,内容详细,步骤清晰,细节处理妥当,希望这篇“css如何实现以一个点为定点旋转”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。
 
  css以一个点为定点旋转的方法:1、新建一个HTML文件;2、通过img引入图片;3、给img标签添加css属性为“@keyframes rotate{0%{transform: rotate(0deg);}100%{transform: rotate(360deg);}}”即可实现以一个点为定点旋转。
 
  css实现图片旋转,并设置旋转点
 
  先做一点技术上的知识普及:
 
  实例
 
  旋转 div 元素:
 
  div
 
  {
 
  transform:rotate(7deg);
 
  -ms-transform:rotate(7deg); /* IE 9 */
 
  -moz-transform:rotate(7deg); /* Firefox */
 
  -webkit-transform:rotate(7deg); /* Safari 和 Chrome */
 
  -o-transform:rotate(7deg); /* Opera */
 
  }
 
  定义和用法
 
  transform 属性向元素应用 2D 或 3D 转换。该属性允许我们对元素进行旋转、缩放、移动或倾斜。
 
  语法
 
  transform: none|transform-functions;
 
  值 描述
 
  none 定义不进行转换。
 
  matrix(n,n,n,n,n,n) 定义 2D 转换,使用六个值的矩阵。
 
  matrix3d(n,n,n,n,n,n,n,n,n,n,n,n,n,n,n,n) 定义 3D 转换,使用 16 个值的 4x4 矩阵。
 
  translate(x,y) 定义 2D 转换。
 
  translate3d(x,y,z) 定义 3D 转换。
 
  translateX(x) 定义转换,只是用 X 轴的值。
 
  translateY(y) 定义转换,只是用 Y 轴的值。
 
  translateZ(z) 定义 3D 转换,只是用 Z 轴的值。
 
  scale(x,y) 定义 2D 缩放转换。
 
  scale3d(x,y,z) 定义 3D 缩放转换。
 
  scaleX(x) 通过设置 X 轴的值来定义缩放转换。
 
  scaleY(y) 通过设置 Y 轴的值来定义缩放转换。
 
  scaleZ(z) 通过设置 Z 轴的值来定义 3D 缩放转换。
 
  rotate(angle) 定义 2D 旋转,在参数中规定角度。
 
  rotate3d(x,y,z,angle) 定义 3D 旋转。
 
  rotateX(angle) 定义沿着 X 轴的 3D 旋转。
 
  rotateY(angle) 定义沿着 Y 轴的 3D 旋转。
 
  rotateZ(angle) 定义沿着 Z 轴的 3D 旋转。
 
  skew(x-angle,y-angle) 定义沿着 X 和 Y 轴的 2D 倾斜转换。
 
  skewX(angle) 定义沿着 X 轴的 2D 倾斜转换。
 
  skewY(angle) 定义沿着 Y 轴的 2D 倾斜转换。
 
  perspective(n) 为 3D 转换元素定义透视视图。
 
  然后大家在做的时候大多遇到的问题时,这个起始点,也就是旋转点的问题。我想让他这样转,他为什么就不听话呢?
 
  这就要说说,transform origin了
 
  实例
 
  设置旋转元素的基点位置:
 
  div
 
  {
 
  transform: rotate(45deg);
 
  transform-origin:20% 40%;
 
  -ms-transform: rotate(45deg); /* IE 9 */
 
  -ms-transform-origin:20% 40%; /* IE 9 */
 
  -webkit-transform: rotate(45deg); /* Safari 和 Chrome */
 
  -webkit-transform-origin:20% 40%; /* Safari 和 Chrome */
 
  -moz-transform: rotate(45deg); /* Firefox */
 
  -moz-transform-origin:20% 40%; /* Firefox */
 
  -o-transform: rotate(45deg); /* Opera */
 
  -o-transform-origin:20% 40%; /* Opera */
 
  }
 
  定义和用法
 
  transform-origin 属性允许您改变被转换元素的位置。
 
  2D 转换元素能够改变元素 x 和 y 轴。3D 转换元素还能改变其 Z 轴。
 
  为了更好地理解 transform-origin 属性。
 
  Safari/Chrome 用户:为了更好地理解 transform-origin 属性用于 3D 转换的情况。
 
  注释:该属性必须与 transform 属性一同使用。
 
  语法
 
  transform-origin: x-axis y-axis z-axis;
 
  值 描述
 
  x-axis
 
  定义视图被置于 X 轴的何处。可能的值:
 
  left
 
  center
 
  right
 
  length
 
  %
 
  y-axis
 
  定义视图被置于 Y 轴的何处。可能的值:
 
  top
 
  center
 
  bottom
 
  length
 
  %
 
  z-axis
 
  定义视图被置于 Z 轴的何处。可能的值:
 
  length
 
  最后,给大家呢演示一个实例demo:
 
  原始图片为一个黑色正方形,我们希望它根据左上角的顶点进行旋转:
 
  源码:
 
  <!DOCTYPE html>
 
  <html>
 
   <head>
 
   <meta charset="UTF-8">
 
   <title></title>
 
   <style type="text/css">
 
   img{
 
   margin-top: 200px;
 
   margin-left: 500px;
 
   width: 100px;
 
   height: 100px;
 
   display: block;
 
       animation: rotate 6s linear infinite;
 
       transform-origin:0 0;
 
   }
 
   @keyframes rotate{
 
   0%{
 
   transform: rotate(0deg);
 
  
 
   }
 
   100%{
 
   transform: rotate(360deg);
 
   }
 
   }
 
   </style>
 
   </head>
 
   <body>
 
   <img src="img/图片.png" />
 
   </body>
 
  </html>
 

(编辑:厦门网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章