利用 :before :after伪类实现鼠标悬浮动画效果

1、最近在逛网站的时候,想找一下喜欢的鼠标悬浮效果,避免广告的嫌疑,直接放图了:

2、在实现的时候,如果在直接使用鼠标hover ,transform,进行过渡,不能达到想要的效果,因为同时只能触发一张图片的动画效果,鼠标一旦离开了图层,就会回到原始位置。

也就是说,要实现这样的效果,需要鼠标放在某一个块状区域,同时触发两个选择器,这样的效果如果使用css实现的话,只能使用伪类:before, :after实现。

3、直接上代码

HTML

<div id="meizu1">
    <li>dede</li>
</div>

CSS

            div#meizu1 li:before{
                content: url(11.png);
                position: relative;
                display: block;
                transition: transform 1s;

            }
            div#meizu1 li:after{
                content: url(12.png);
                position: relative;
                top: -442px;
                display: block;
                transition: transform 1s;
            }

            div#meizu1 li:hover:before{
                transform: translate(-10%,0);
            }

            div#meizu1 li:hover:after{
                transform: translate(10%,0);
            }

            li{
                list-style-type: none;
                width: 500px;
                margin: 20px auto;
            }

需要注意的是,使用伪类选择器:.class:hover:before; .class:hover:after ;  而不是 .class:before:hover .class:after:hover  这样的选择器是无效的。(过渡动画需要对浏览器进行兼容性适配的,这里仅仅是为了演示。)

实现的效果:

参考的文档  论CSS ::before 和 ::after

时间: 2025-01-03 09:17:02

利用 :before :after伪类实现鼠标悬浮动画效果的相关文章

:before :after伪类实现鼠标悬浮动画

<div id="meizu1"> <li>dede</li> </div> div#meizu1 li:before{ content: url(11.png); position: relative; display: block; transition: transform 1s; } div#meizu1 li:after{ content: url(12.png); position: relative; top: -442px

CSS3伪类nth-child结合transiton动画实现文字若影若现

css3伪类nth-child结合transiton动画实现文字若影若现收先创建一个div盒子,然后包裹在div中的有10个span标签每个span标签填上内容一次为A,B,C,D,E,F,G,H,I,,J先看下效果图: 看HTML5代码: <div class="box"> <span>A</span> <span>B</span> <span>C</span> <span>D</s

css3代码实现的鼠标悬浮按钮效果代码实例

css3代码实现的鼠标悬浮按钮效果代码实例:在css3之前,鼠标悬浮于按钮之上,无非是设置按钮的大小.字体颜色或者背景图片等简单的项目,但是css3的出现,可以让设置变得丰富多彩,下面就是一个css3实现的此效果.代码如下: <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://

CSS3悬浮动画效果

利用CSS3的伪类元素hover以及transform,transition等动画属性,可以做出一些炫酷的动画效果.下面将一些项目中使用到的示例发布出来,供大家一起学习研究.演示地址:runjs. 浏览器兼容:Chrome,Safari,IE10及以上,IE9不支持渐变效果,IE8以下不支持. transform:该属性允许我们对元素进行旋转(rotate).缩放(scale).移动(translate)或倾斜(skew). transition:过渡属性,该属性为简写属性,用于设置4个过渡属性

利用CSS hover伪类改变其他元素的总结

:hover 伪类经常用于页面的一些鼠标交互.链接点击变化,增强页面的用户体验,但是可以用来改变其他元素样式,可以在不使用JS 的情况下,达到想要的页面效果. 1.hover改变自身的效果: 鼠标悬浮改变样式: HTML <div id="yanshi"> 演示 </div> CSS #yanshi{ width: 100px; height: 100px; transition: background-color 0.5s,color 0.5s; text-a

Animate.css+js实现鼠标经过动画效果

动画效果可以参照animate.css 注:图片默认是不动的,当鼠标经过的时候才会动.原理很简单--通过js,添加鼠标经过事件,鼠标经过时,把当前元素存放在"data-in"里的"swing"添加到class里,前提animated这个类一定要加上,要不然动画不起作用. 1.引入animate.css <link href="https://cdn.bootcss.com/animate.css/3.5.1/animate.min.css"

CSS3按钮鼠标悬浮光圈效果

1 .HTML相关知识点  HTML(超文本标记语言)是网页的核心.首先你要学会,不要害怕,HTML很容易学习的,刚开始多记多练,但是到最后还是要自己深入专研,简单的入门是很快,但学好HTML是成为Web开发人员的基本条件. 学习资源: HTML Dog (http://htmldog.com/) HTML入门指南 (http://www.w3.org/MarkUp/Guide/) W3C HTML学习教程 (http://www.w3schools.com/html/) 2.CSS3相关知识点

CSS伪类 (链接的各种效果)

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style type="text/css"> a:link/*链接自然状态下的颜色*/ { color: red; } a:visited/*已经访问了的链接变色*/ { color: gr

js鼠标悬浮动画:由一个位置移动到另外一个位置,速度由快变慢[修正版2]

#slideshow{width:100px;height:100px;position:relative; overflow:hidden;} <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>Web Design</title> <script src="addLoadEvent.js&