用户登录
用户注册

分享至

css3怎么实现围绕圆心公转

  • 作者: 胖胖8993094
  • 来源: 51数据库
  • 2023-02-01

css3实现围绕圆心公转的方法:1、创建一个HTML示例文件;2、定义一个div;3、通过“.out {border-radius: 150px;background-color: sandybrown;...”属性设置外层圆;4、使用animation和transform等属性定义基点并实现围绕圆心公转即可。

本教程操作环境:Windows10系统、CSS3版、DELL G3电脑

css3怎么实现围绕圆心公转?

CSS3动画 表情包围绕圆公转而不自转

效果如图

20191223204309668.gif

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>公转不自转</title>
  <style>
    /* 外层圆 */
    .out {
      margin-top: 200px;
      margin-left: 200px;
      position: relative;
      height: 300px;
      width: 300px;
      border-radius: 150px;
      background-color: sandybrown;
      box-shadow: 0 0 2**x;
    }
    /* 笑脸的容纳框 */
    .cover {
      display: inline-block;
      width: 50px;
      height: 50px;
      position: absolute;
      /* 定义基点 */
      transform-origin: 150px 150px;
      animation: smile linear 5s infinite;
      background-color: springgreen;
    }
    /* 笑脸表情包*/
    img {
      width: 50px;
      height: 50px;
      /*方法1 不自转只需要reverse反向线性就可以了*/
      animation: smile reverse linear 5s infinite;
    }
    @keyframes smile {
      to {
        transform: rotateZ(360deg);
      }
    }
    /* 方法2 */
    /* 默认情况下笑脸会跟随容纳框再5s内旋转360deg,所以只要再变换曲线相同的情况下再让它倒着转360deg就好啦 */
    /* @keyframes no-rotate {
      to {
        transform: rotateZ(-360deg);
      }
    } */
    /* 文本的绝对居中 */
    .out span {
      display: block;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      font-size: 20px;
    }
  </style>
</head>
<body>
  <div>
    <div>
      <img
        src="http://www.51sjk.com/Upload/Articles/1/0/342/342178_20230201092441283.jpg"
        alt="">
    </div>
    <span>和蔼的笑脸</span>
  </div>
</body>
</html>
软件
前端设计
程序设计
Java相关