CSS3伪类垂直菜单背景滑动动画效果

主要用到了position 和 transition 属性,对低版本浏览器不兼容。

效果图如下

 


我们先编写基本的菜单HTML代码。

 代码如下 复制代码

<nav>
  <ul>
    <li><a href="">Home</a></li>
    <li><a href="">About</a></li>
    <li><a href="">Work</a></li>
    <li><a href="">Contact</a></li>
  </ul>
</nav>

首先清除body元素默认的样式,给网页添加一个橙色的背景。

 代码如下 复制代码

body{
  margin: 0px;
  padding: 0px;
  background: #e74c3c;
  font-family: 'Lato', sans-serif;
}

定位菜单的显示位置,这里设置菜单居中显示在网页中。

 代码如下 复制代码

nav{
  float: none;
  clear: both;
  width: 30%;
  margin: 10% auto;
  background: #eee;
}

给菜单的子元素设置样式。

 代码如下 复制代码

nav ul {
  list-style: none;
  margin: 0px;
  padding: 0px;
}
nav li{
    float: none;
  width: 100%;
}
nav li a{
  display: block;
  width: 100%;
  padding: 20px;
  border-left: 5px solid;
  position: relative;
  z-index: 2;
  text-decoration: none;
  color: #444;
  box-sizing: border-box; 
  -moz-box-sizing: border-box; 
  -webkit-box-sizing: border-box;
}

给不同的菜单项设置不同的左侧边框

 代码如下 复制代码

nav li a:hover{ border-bottom: 0px; color: #fff;}
nav li:first-child a{ border-left: 10px solid #3498db; }
nav li:nth-child(2) a{ border-left: 10px solid #ffd071; }
nav li:nth-child(3) a{ border-left: 10px solid #f0776c; }
nav li:last-child a{ border-left: 10px solid #1abc9c; }

设置鼠标滑动到菜单项目上的动画效果

 代码如下 复制代码

nav li a:after {
  content: "";
  height: 100%;
  left: 0;
  top: 0;
  width: 0px; 
  position: absolute;
  transition: all 0.3s ease 0s;
  -webkit-transition: all 0.3s ease 0s;
  z-index: -1;
}
nav li a:hover:after{ width: 100%; }
nav li:first-child a:after{ background: #3498db; }
nav li:nth-child(2) a:after{ background: #ffd071; }
nav li:nth-child(3) a:after{ background: #f0776c; }
nav li:last-child a:after{ background: #1abc9c; }

讲到了不兼容低版本浏览器了,所以目前暂时还不是非常的好用哦,在很多浏览器中是看不到效果的。

时间: 2024-09-20 07:55:57

CSS3伪类垂直菜单背景滑动动画效果的相关文章

CSS3:伪类前的冒号和两个冒号区别

核心提示:在一次项目中,有一次要用到::selection伪元素,然后开发同学问我,CSS中一个冒号和两个冒号有神马区别? 在一次项目中,有一次要用到::selection伪元素,然后开发同学问我,CSS中一个冒号和两个冒号有神马区别? 这好像真的是个问题,或许很多前端同学对此都有疑惑,查了些资料,证实了下两个符号的区别,简而言之:单冒号(:)用于CSS3伪类,双冒号(::)用于CSS3伪元素. W3C关于CSS3选择器的规范中有一段描述: A pseudo-element is made of

jQuery实现菜单感应鼠标滑动动画效果的方法

 这篇文章主要介绍了jQuery实现菜单感应鼠标滑动动画效果的方法,实例分析了jQuery中鼠标事件及animate的使用技巧,非常具有实用价值,需要的朋友可以参考下     本文实例讲述了jQuery实现菜单感应鼠标滑动动画效果的方法.分享给大家供大家参考.具体分析如下: 此代码测试环境为IE9 以及GG.FF浏览器,IE8及以下浏览器可能不支持,希望理解. 这款JS鼠标滑动效果使用jQuery实现简单动画的方法,而且也惊喜的发现,jquery有更好的书写方法,可以连写,在animate方法前

jQuery实现菜单感应鼠标滑动动画效果的方法_jquery

本文实例讲述了jQuery实现菜单感应鼠标滑动动画效果的方法.分享给大家供大家参考.具体分析如下: 此代码测试环境为IE9 以及GG.FF浏览器,IE8及以下浏览器可能不支持,希望理解. 这款JS鼠标滑动效果使用jQuery实现简单动画的方法,而且也惊喜的发现,jquery有更好的书写方法,可以连写,在animate方法前加上stop方法就可实现鼠标移出后,不再执行滑动效果. 复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 T

jQuery教程:制作滑动动画效果的层

使用jQuery制作滑动动画效果的层 基本原理 这些具有动态效果的滑动盒都基于同样的基本原理.在你经过想要"窥见"对象中的其他两个项目,这个带有".boxgrid"的DIV标签充当着一个窗口.还不明白? 让这个图片来给你线索吧: 理解了这个基本原理之后,我们就可以利用滑动元素的动画效果来揭开或遮盖住要展示的区域,以此来创造滑动效果. 第一步 – CSS 基础工作 在上面给出基本结构的启示图中,我们需要使用一点CSS来让它显示出预期的效果.下面这个CSS定义了查看窗口

Android 开发第三弹:自定义左右菜单(滑动动画+蒙版效果)

下面的截图--哎,因为1080P在Windows 10上虽然适配了,但大部分软件并没有跟上,比如某个录制GIF的软件,所以这里有一定的偏移导致画面不完整,但效果大概就是这么一个效果了. MainUI.java 首先需要这么一个类,在这里一些UI的滑动呀之类的都会定义.首先吧,定义好这些变量,当然了,实际开发过程中肯定需要哪一个就添加上哪一个的. private Context context; // 上下文 private FrameLayout leftMenu; // 左边部分 privat

CSS3伪类选择器:nth-child()用法详解

CSS3的出现无疑给前端开发人员带来了巨大的优势,今天我们着重介绍CSS3中一个新出现的强大伪类选择器:nth:child():为了方便大家理解,我今天会通过展示曾经做过的项目页面,让大家直观清晰的了解这一伪类选择器的功能和使用技巧   1.首先大家了解下该伪类的语法法:       :nth-child(an+b) ps:可惜的是该伪类选择器不支持ie浏览器,当要兼容ie浏览器的时候,我们只有每一个li给它们添加类名了 2.这是我们要实现的页面效果   步骤一: 先写好html代码 <div

CSS3网页制作实例:鼠标经过图标动画效果

文章简介:今天就为大家分享一组时尚而简单的鼠标经过图标动画效果.主要的原理是当经过图标或触发其伪元素时,利用css的transitions和animations属性,来实现的一些互动动画效果.在此之前,本站也介绍了很多css伪元素的文章,如:动画条纹边框.伪元素的多重选择.制作时尚焦点 今天就为大家分享一组时尚而简单的鼠标经过图标动画效果.主要的原理是当经过图标或触发其伪元素时,利用css的transitions和animations属性,来实现的一些互动动画效果.在此之前,本站也介绍了很多cs

CSS 伪类实现的鼠标滑动图片链接_导航菜单

词霸 MediaPlay RealPlay MediaPlay RealPlay

图解css3:核心技术与案例实战. 2.4 动态伪类选择器

2.4 动态伪类选择器 伪类选择器对于大家来说最熟悉的莫过于":link".":visited".":hover".":active",因为这些是大家平时常用到的伪类选择器.而CSS3的伪类选择器可以分成六种:动态伪类选择器.目标伪类选择器.语言伪类选择器.UI状态伪类选择器.结构伪类选择器和否定伪类选择器. 伪类选择器语法书写时和其他的CSS选择器写法有所区别,都以冒号(:)开头.例如: E:pseudo-class {pr