百分百源码网-让建站变得如此简单! 登录 注册 签到领金币!

主页 | 如何升级VIP | TAG标签

当前位置: 主页>网站教程>CSS教程> 纯CSS怎样实实际现鼠标追随结果?(代码详解)
分享文章到:

纯CSS怎样实实际现鼠标追随结果?(代码详解)

发布时间:09/01 来源:未知 浏览: 关键词:
鼠标追随,望文生义,就是元素会追随着鼠标的挪移而作出响应的运动。平常而言,CSS负责体现,JavaScript负责行为。而鼠标追随这种结果属于行为,要实现平常都需要借助JS。 鼠标追随,望文生义,就是元素会追随着鼠标的挪移而作出响应的运动。平常而言,CSS 负责体现,JavaScript 负责行为。而鼠标追随这种结果属于行为,要实现平常都需要借助 JS。

固然,本文的重点,就是介绍怎样在不借助 JS 的状况下运用 CSS 来模拟实现一些鼠标追随的行为动画结果。

我们先来看看鼠标追随结果有哪些样的:

道理

以上面的 Demo 为例子,要运用 CSS 实现鼠标追随,最重要的一点就是:

怎样实时监测到目前鼠标处于何处?

OK,其实许多 CSS 结果,都离不开 障眼法 二字。要监测到目前鼠标处于何处,我们只需要在页面上铺满元素即可:

我们运用 100 个元素,将整个页面铺满,hover 的时,展现色彩,中心 SCSS 代码如下:

  
  
  
  
  ... // 100个
.g-container {
    position: relative;
    width: 100vw;
    height: 100vh;
}
 
.position {
    position: absolute;
    width: 10vw;
    height: 10vh;
}
 
@for $i from 0 through 100 {
     
    $x: $i % 10;
    $y: ($i - $x) / 10;
     
    .position:nth-child(#{$i + 1}) {
        top: #{$y * 10}vh;
        left: #{$x * 10}vw;
    }
 
    .position:nth-child(#{$i + 1}):hover {
        background: rgba(255, 155, 10, .5)
    }
}

可以得到这样的结果:

好的,要是把每个元素的 hover 结果去除,那么这个时候操纵页面,其实是没有任何结果的。但同时,通过 :hover 伪类,我们又是可以大约得知目前鼠标是处于页面上哪个区间的。

好继续,我们再给页面增加一个元素(圆形小球),将它绝对定位到页面中间:

.ball {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 10vmax;
    height: 10vmax;
    border-radius: 50%;
    transform: translate(-50%, -50%);
}

最后,我们借助 ~ 兄弟元素选中器,在 hover 页面的时候(其实是 hover 一百个隐蔽的 div),通过目前 hover 到的 div,去控制小球元素的位置。

@for $i from 0 through 100{
     
    $x: $i % 10;
    $y: ($i - $x) / 10;
     
    .position:nth-child(#{$i + 1}):hover ~ .ball {
        top: #{$y * 10}vh;
        left: #{$x * 10}vw;
    }
}

至此,一个简略的纯 CSS 实现鼠标追随的结果就实现了,利便大家了解,看看下面这张图就明确了:

1、默许的铺满配景的 div 的 transition-duration: 0.5s

2、当 hover 到元素配景 div 的时候,转变目前 hover 到的 div 的 transition-duration: 0s,而且 hover 的时候给予配景色,这样目前 hover 到的 div 会立刻展现

3、当鼠标脱离 div,div 的 transition-duration 变回默许状态,也就是 transition-duration: 0.5s,同时配景色消散,这样被脱离的 div 的配景色将渐渐过渡到透亮,造成虚影的结果

CodePen Demo -- cancle transition

最后

其实还有许多成心思的用途,感乐趣的同窗可以本人动手,更多的去尝试,组合。

时常有人会问我,这些奇蹊跷怪僻怪的用途现实业务中用得上吗?到底实用没用。额,我的看法是或许业务中真的用不上或者利用场景极为有限,但是多理解一些,能在碰到题目的时候多点选中,多一些思索的空间,更好的发散思维,至少是无害吧。

更多你可能想都想不到的有味的 CSS 你可以来这里瞧瞧:

CSS-Inspiration -- CSS灵感

好了,本文到此完毕,但愿对你有帮忙 :)

本文转自:https://www.cnblogs.com/coco1s/p/10481872.html

更多炫酷CSS3、html5、javascript、jQuery特效代码,尽在:js特效大全

以上就是纯 CSS 怎样实实际现鼠标追随结果?(代码详解)的细致内容,更多请关注 百分百源码网 其它相干文章!

打赏

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

百分百源码网 建议打赏1~10元,土豪随意,感谢您的阅读!

共有151人阅读,期待你的评论!发表评论
昵称: 网址: 验证码: 点击我更换图片
最新评论

本文标签

广告赞助

能出一分力是一分吧!

订阅获得更多模板

本文标签

广告赞助

订阅获得更多模板