HTML 和CSS 学习(5)

文件介绍

![Alt]
(https://yt3.ggpht.com/a/AGF-l7_JOPbXWp3QXZDuk7CCOzxdwpRg8MFJliMx5A=s900-c-k-c0xffffffff-no-rj-mo0)
这个学习资源来自于一个youtuber开的频道, 名字叫做online tutorial(https://www.youtube.com/channel/UCbwXnUipZsLfUckBPsC7Jog/featured), 从第一次无意间系统推送给我他的频道的时候我就被他发的一些自创css style深深吸引, 也借以这个平台来和大家分享一下一些很有用的学习资源。**

代码

在这一期中将会介绍animation,通过设计一个简单的animation也可以更加加强我们对于css中一些元素设计原理的认知

html

<body>
    <h2> Follow The Cursor | javascript</h2>
    <div id="cursor"></div>
</body>

css文件

body {
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100vh;
    font-family: sans-serif;
    overflow: hidden;
    cursor: none;
}

#cursor {
    position: absolute;
    width: 20px;
    height: 20px;
    border: 2px solid #000;
    box-sizing: border-box;
    transition: 0.1s;
    transform: translate(-50%, -50%);
    border-radius: 50%;
    pointer-events: none;
}

意图是首先将文字与图形放置于屏幕正中央
再次强调一个方法就是: 在元素的母元素添加

    display: flex;
    justify-content: center;
    align-items: center;
接下来是使用javascript来使图形沿着鼠标的移动轨迹移动, 原理就是通过线段间的移动,通过设置线段长度以及移动时间来创建想要的活动效果

废话不多说,放上代码

<script type="text/javascript">
        var cursor = document.getElementById('cursor');
        document.addEventListener('mousemove', function(e) {
            var x = e.clientX;
            var y = e.clientY;
            cursor.style.left = x + "px";
            cursor.style.top = y + "px";
        });
    </script>
最后就是添加一点特效啦,hover文字会使圆圈变大,并且顺时针转动

思路是这样子的:
先通过h2:hover 设置css

h2:hover~#cursor {
    width: 100px;
    height: 100px;
    border: 2px dashed #000;
    animation: animate 5s linear infinite;
}

然后通过设置@keyframe创建这个叫做animate的animation。一个 keyframe 定义了一个完整动画里某一时刻的一种动画样式。动画绘制引擎会连贯平滑的实现各种样式间的转换。

@keyframes animate {
    0% {
        transform: translate(-50%, -50%) rotate(0deg);
    }
    100% {
        transform: translate(-50%, -50%) rotate(360deg);
    }
}

意思就是原地不动转360度.

成果

在这里插入图片描述
希望大家喜欢:)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值