transform rotate的旋转中心如何设置

通常情况下,旋转的原来为中心点。也就是X轴和Y轴的50% 50%的地方。

如果想改变transform-origin的位置不在原点,即可设置相应的数值即可。比如:transform-origin:0 0;则现在元素的中心点就变成了左上角。

看上去transform-origin取值与background-position取值类似。为了方便记忆,可以把关键词和百分比值对比起来记:

  • top = top center = center top = 50% 0
  • right = right center = center right = 100%或(100% 50%)
  • bottom = bottom center = center bottom = 50% 100%
  • left = left center = center left = 0或(0 50%)
  • center = center center = 50%或(50% 50%)
  • top left = left top = 0 0
  • right top = top right = 100% 0
  • bottom right = right bottom = 100% 100%
  • bottom left = left bottom = 0 1
  • 下代码为鼠标移过左右晃动~~~
  • a:hover{
        -webkit-animation:swinging 10s ease-in-out 0s infinite;
        -moz-animation:swinging 10s ease-in-out 0s infinite;
        animation:swinging 10s ease-in-out 0s infinite;
    
        -webkit-transform-origin:50% 0;
        -moz-transform-origin:50% 0;
        transform-origin:50% 0;
    }
    @-webkit-keyframes swinging{
        0% { -webkit-transform: rotate(0); }
        5% { -webkit-transform: rotate(10deg); }
        10% { -webkit-transform: rotate(-9deg); }
        15% { -webkit-transform: rotate(8deg); }
        20% { -webkit-transform: rotate(-7deg); }
        25% { -webkit-transform: rotate(6deg); }
        30% { -webkit-transform: rotate(-5deg); }
        35% { -webkit-transform: rotate(4deg); }
        40% { -webkit-transform: rotate(-3deg); }
        45% { -webkit-transform: rotate(2deg); }
        50% { -webkit-transform: rotate(0); } /* Come to rest at 50%. The rest is just stillness */
        100% { -webkit-transform: rotate(0); }
    }
    
    @-moz-keyframes swinging{
        0% { -moz-transform: rotate(0); }
        5% { -moz-transform: rotate(10deg); }
        10% { -moz-transform: rotate(-9deg); }
        15% { -moz-transform: rotate(8deg); }
        20% { -moz-transform: rotate(-7deg); }
        25% { -moz-transform: rotate(6deg); }
        30% { -moz-transform: rotate(-5deg); }
        35% { -moz-transform: rotate(4deg); }
        40% { -moz-transform: rotate(-3deg); }
        45% { -moz-transform: rotate(2deg); }
        50% { -moz-transform: rotate(0); } /* Come to rest at 50%. The rest is just stillness */
        100% { -moz-transform: rotate(0); }
    }
    
    @keyframes swinging{
        0% { transform: rotate(0); }
        5% { transform: rotate(10deg); }
        10% { transform: rotate(-9deg); }
        15% { transform: rotate(8deg); }
        20% { transform: rotate(-7deg); }
        25% { transform: rotate(6deg); }
        30% { transform: rotate(-5deg); }
        35% { transform: rotate(4deg); }
        40% { transform: rotate(-3deg); }
        45% { transform: rotate(2deg); }
        50% { transform: rotate(0); } /* Come to rest at 50%. The rest is just stillness */
        100% { transform: rotate(0); }
    }
时间: 2024-09-29 20:07:59

transform rotate的旋转中心如何设置的相关文章

CSS transform中的rotate的旋转中心怎么设置

transform-origin属性 默认情况,变形的原点在元素的中心点,或者是元素X轴和Y轴的50%处.我们没有使用transform-origin改变元素原点位置的情况下,CSS变形进行的旋转.移位.缩放等操作都是以元素自己中心(变形原点)位置进行变形的.但很多时候需要在不同的位置对元素进行变形操作,我们就可以使用transform-origin来对元素进行原点位置改变,使元素原点不在元素的中心位置,以达到需要的原点位置.如果我们把元素变换原点(transform-origin)设置0(x)

Unity 3D中的Transform.Rotate 与Transform.RotateAround 的区别

Transform.Rotate 旋转 应用一个欧拉角的旋转角度,eulerAngles.z度围绕z轴,eulerAngles.x度围绕x轴,eulerAngles.y度围绕y轴(这样的顺序). 如果相对于留空或者设置为Space.Self 旋转角度被应用围绕变换的自身轴.(当在场景视图选择物体时,x.y和z轴显示)如果相对于 Space.World 旋转角度被应用围绕世界的x.y.z轴. 1 gameObject.transform.Rotate(new Vector3(0,1,0),Inpu

使用input range滑块,控制元素transform rotate旋转样式

<!DOCTYPE html> <html> <head> </head> <body> <!-- 第一步:设置div旋转对象和input滑块的基本属性值 第二步:给input滑块添加一个onchange事件,获取滑块停止时的属性值 第三步:将获取的input滑块属性值设置为div的旋转属性,附带显示当前旋转值 --> <div id="div1"> transfrom rotate </div&

css3 transform: rotate()

/*help*/ .help{  position: relative;     width: 130px;     height: 130px;     border: 6px #fff solid;  border-radius: 50%;     -webkit-animation: rotation 1s ease-in-out infinite;        -moz-animation: rotation 1s ease-in-out infinite;             a

拒绝IE8-,CSS3 transform rotate旋转动画效果(支持IE9+/chrome/firefox)

<!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.jb51.net/" /> <title>拒绝IE8-,CSS3 transform rotate旋转动画效果(支持IE9+/chrome/firefox)</title> &l

transform:rotate在手机上显示有锯齿的解决方案

transform:rotate 属于简单好用的效果,但在手机上显示时,会有比较明显锯齿. 解决方案也很简单, 利用外层容器的overflow:hidden 加上图片margin:-1px 就可以解决. 原理没去深究,理论上是矢量跟位图的处理不一样,这个方案也有个小问题 就是图片变小了 ^_^ 可以用手机看看demo http://labs.aoao.org.cn/demo/transform-rotate/ update: 大家反应这方案在电脑上反而会出问题. 我测试了个新的方案rotate3

transform:rotate

transform:rotate 已经第二次遇到这个问题了 电视机盒子跑不动transform 经测试后  电视机盒子这个属性要这么写 .wz{position:absolute;animation:wz 12s 1 forwards;-webkit-animation:wz 12s 1 forwards;} @keyframes wz{0%{top:730px;}30%{top:550px;}70%{top:550px;}100%{top:730px;}}@-webkit-keyframes

利用CSS3 transform: rotate(xxdeg)画对角线

直接上代码. <style> *{ /*实际开发中,别这样偷懒哦*/ margin: 0; padding: 0; list-style: none; } .out{ width: 200px; height: 200px; background-color: #607D8B; display: flex; align-items: center; margin: 0 auto; position: relative; } .inner{ border-left: 1px solid #8BC

CSS3 2D 转换【旋转transform:rotate(30deg); 移动transform: translate(50px,100px); 放大缩小transform:scale(2,4)】

CSS3 2D 转换 CSS3 转换 CSS3转换,我们可以移动,比例化,反过来,旋转,和拉伸元素. 它是如何工作? 变换的效果,让某个元素改变形状,大小和位置. 您可以转换您使用2D或3D元素. 浏览器支持 表格中的数字表示支持该属性的第一个浏览器版本号. 紧跟在 -webkit-, -ms- 或 -moz- 前的数字为支持该前缀属性的第一个浏览器版本号. Property           transform 36.0 4.0 -webkit- 10.0 9.0 -ms- 16.0 3.5