美文网首页
使用CSS实现左右30度的摆钟

使用CSS实现左右30度的摆钟

作者: 原来如此scater | 来源:发表于2019-03-17 16:20 被阅读0次

利用只是点:animation、transform、transform-origin,摆动位置统一,就会实现同角度摆动。
代码实现:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <style>
            #box{
                width:300px;
                height:300px;
                border: 1px solid rgba(0, 140, 255, 0.623);
                position: relative;
            }
            .center-circle{
                width:20px;
                height:20px;
                background-color:rgb(216, 166, 28);
                border-radius: 10px;
                position: absolute;
                top:0;
                left:0;
                bottom: 0;
                right: 0;
                margin: auto;
            }
            .plate-circle{
                width:48px;
                height:48px;
                border-radius: 50%;
                background-color: rgb(216, 166, 28);
                position: absolute;
                top:276px;
                left:126px;
                animation: pendulum-animation 4s linear infinite;
                /*
                    transform-origin改变被转换元素的位置,默认值:50% 50% 0
                    将摆盘的转换位置定位与center-circle的中心的重合
                */
                transform-origin: 50% -127px;
            }
            .connecting-line{
                width:4px;
                height:150px;
                background-color: rgb(216, 166, 28);
                position:absolute;
                top: 50%;
                left: 148px;
                animation: pendulum-animation 4s linear infinite;
                /*将摆盘的转换位置定位与center-circle的中心的重合*/
                transform-origin: 50% 0;
            }
            @keyframes pendulum-animation{
                0% {transform: rotate(0deg);}
                25% {transform:rotate(-30deg)}
                50% {transform: rotate(0deg);}
                75% {transform: rotate(30deg);}
                100% {transform: rotate(0deg);}
            }
        </style>
    </head>
    <body>
        <div id = "box">
            <!-- 摆动中心点 -->
            <div class="center-circle"></div>
            <!-- 摆钟连接线 -->
            <div class="connecting-line"></div>
            <!-- 摆盘 -->
            <div class="plate-circle"></div>
        </div>
    </body>
</html>

相关文章

  • 使用CSS实现左右30度的摆钟

    利用只是点:animation、transform、transform-origin,摆动位置统一,就会实现同角度...

  • css常见布局(一)

    上来就是干! css左右布局(两栏布局) 使用inline-block实现左右布局,原理:inline无法设置宽高...

  • CSS布局

    1,左右布局。 css中的左右布局可以使用style="float:left"浮动来实现,比如明信片的的样式,一边...

  • css实现上下固定中间自适应布局

    html: 1:使用定位实现: css: 2:使用flexbox: css: 3:使用grid css: 4:使用...

  • js 表格/列表 标题/列名不动,内容独立双向滚动

    思路:实现双向滚动,即: 上下滚动时, 列名不动 左右滚动时, 列名一起左右滚动 必须使用js添加事件,纯css无...

  • css布局和居中

    本文主要介绍了css常用的布局,居中等其他小技巧。 css布局 左右布局 利用float实现左右布局 左右模块设置...

  • 记环形进度条(静态,非动态从0变到100%,css3实现)

    使用html + css3 + js实现(项目中实现的): html: css : 上述css代码的作用分别介绍一...

  • CSS布局

    如何使用CSS做出: 左右布局/左中右布局水平居中垂直居中 左右布局/左中右布局 在此提供两种实现方法,实际操作中...

  • css写布局

    一:左右布局 1.用float浮动来实现左右布局:HTML代码: css代码: 演示: 2用绝对定位来实现左右布局...

  • 05.React高级部分(下)

    React中实现CSS过渡动画 React中使用CSS动画效果 修改style.css文件 使用react-tra...

网友评论

      本文标题:使用CSS实现左右30度的摆钟

      本文链接:https://www.haomeiwen.com/subject/ajpumqtx.html