CSS实例教程:简单的的滑动导航栏效果

文章简介:CSS实例教程:简单的的滑动导航栏效果.

由于网页字体的限制,以及对导航栏美观的需求,使用background-repeat来做一个简单的文字导航栏已经远远不够了。在很多场合,导航栏的背景是一个图案,字体也不再是单调的宋体,这就需要我们把导航栏的整体效果做图在网页中使用。

今天我们就来做一个简单的的滑动导航栏效果(不知道应该叫它什么^_^),效果如下图:

 

思路:通过改变链接鼠标悬停状态(hover)的背景图片,来达到把鼠标放上去有高亮显示的效果。

方法:在本例中,我们是通过调整各链接hover状态的背景图片位置来使其“看起来发生了改变”。(不明白?可以先了解“css sprites”)

首先,组织导航栏的html代码。

<ul>
 <li id="itemA"><a href="#">首页</a></li>
 <li id="itemB" class="select"><a class="urlB" href="#">原创</a></li>
 <li id="itemC"><a class="urlC" href="#">关于54173BLOG</a></li>
 <li id="itemD"><a class="urlD" href="#">网站建设</a></li>
</ul>
//a元素中仍然保留文字,这样可以保证用户在加载不到css文件的情况下仍能看到基本的内容。
//每个链接的背景都不同,需要单独定义,所以这里给每个链接一个类。
//li元素的id本例中没有用到,但在实际使用中,可以配合js来实现对当前页面的高亮显示。

其次,把导航栏的正常状态和hover状态做整体效果图并拼合在一张图片上。

 

做图注意:两种状态下导航栏上的文字相对于背景图案的位置要相同,否则会出现过渡效果不平滑,而相同的位置也便于我们在css中进行控制。(如本例,建议先做好一种效果,然后将其复制再修改颜色,这样文字相对背景的位置就不会有错了。)
另:如果链接间要留间距等,动手前就计算好,以便做图一步到位。

 

最后,通过CSS调整样式,实现最终效果。(查看演示页面)

.navbar {height:50px; padding-left:6px; overflow:hidden; background:url(01.jpg) no-repeat;}/*每个a元素都只能显示自己范围的背景,如果左右有空白、各元素有间距,需要为navbar定义背景图片,否则空白、间距处看不到我们的图片。*/
.navbar li {display:inline;}
.navbar li a {float:left; height:50px; text-indent:-9999px; background:url(01.jpg) no-repeat;}/*通过text-indent把a元素中的文字隐藏起来;为所有链接定义统一的背景图片。*/
/*以下分别定义了4个链接的宽度和背景图片位置。(本例中两种状态下文字在水平方向位置相同,在这里每个链接两种状态的背景图片就只有垂直位置不同了,这样控制起来就更方便。)*/
.navbar li a.urlA {width:78px; background-position:-6px 0;}
.navbar li a.urlA:hover,.navbar li.select a.urlA {background-position:-6px -50px;}
.navbar li a.urlB {width:75px; background-position:-84px 0;}
.navbar li a.urlB:hover,.navbar li.select a.urlB {background-position:-84px -50px;}
.navbar li a.urlC {width:211px; background-position:-159px 0;}
.navbar li a.urlC:hover,.navbar li.select a.urlC {background-position:-159px -50px;}
.navbar li a.urlD {width:126px; background-position:-370px 0;}
.navbar li a.urlD:hover,.navbar li.select a.urlD {background-position:-370px -50px;}
/*background-position两个参数的顺序:先水平,后垂直。“先左右,后上下”容易记错。*/

至此,滑动导航栏制作完成。如需参考代码请查看“演示页面”的源代码。

在本例中:
li元素和其中的a元素也可以通过其它方法控制位置;
li元素和a元素分别赋予了id和class,也许可以更简单;
各链接的hover状态背景图片位置都不相同,均需单独定义,也就是说你也可以把它们分开而不必总连在一起;
而如果把两种状态的图片存成两个图片使用,代码量也是差不多,css sprites的好处也无法体现。

也许你有更好的方法,或发现本例中有错误,还请不吝赐教。
欢迎来54173BLOG交流更多CSS、HTML的相关知识。

54173BLOG原创文章,转载请保留本文链接:http://www.54173.cn/blog/?p=255

时间: 2024-04-14 20:18:25

CSS实例教程:简单的的滑动导航栏效果的相关文章

CSS实例教程:简单的button风格的UI按钮

文章简介:CSS实例教程:简单的button风格的UI按钮. button应该是UI库中最常用到的一种.我个人对google+的那种简单的button风格比较喜欢,因为那样在不同的浏览器下视觉差异不是很大.不过现在自己确实已经没有心思去琢磨怎么去弥补ie的不足,所以下面的东西就不要拿ie打开了.还是贴出代码吧 <!DOCTYPE html> <html> <head>                        <title></title> 

CSS实例教程:微博新版查看大图前后浏览效果

文章简介:微博新版查看大图前后浏览的另外一种实现. 一.新浪微博新版查看大图 你说我是先讲些废话呢还是讲些废话呢~~ 搜索"新版微博查看大图",结果前三如下: 其实这种效果,我在人人先见到,然后贴吧啊,还有我不使用的QQ空间等--按照我以往的经验,估计是从老美哪个网站copy过来的,然后,A闯红灯,B闯红灯,C也闯红灯,此时D觉得自己不闯红灯就不正常,于是也朝着红色的方向大步夺去. 数据上的好与不好,我不是专业的,随便乱说会烂舌头的.从个人感性认识上,微博似乎多了一件饰品. 青菜萝卜各

jQuery实现简单的列表式导航菜单效果代码_jquery

本文实例讲述了jQuery实现简单的列表式导航菜单效果代码.分享给大家供大家参考.具体如下: 这里使用jQuery实现简单的列表式导航菜单,是根据网上的一个教程,边看边写的,经过了修正,拷贝代码即可使用.主要实现包括三个部分,一是CSS.二是引入jQuery.三是编写JS代码进行jQuery控件. 运行效果截图如下: 在线演示地址如下: http://demo.jb51.net/js/2015/jquery-simple-list-style-nav-menu-codes/ 具体代码如下: <h

webapp滑动效果-webapp滑动导航栏类似手机app首页上的导航条能够滑动

问题描述 webapp滑动导航栏类似手机app首页上的导航条能够滑动 类似手机app首页上的导航条能够滑动,内容也能够滑动,且滑动时,导航条也跟着滑动,相应标题变色.这个效果怎么实现啊.各位大神求助啊! 解决方案 HBuilder官方API有详细的教程

js 二级横向滑动导航菜单效果代码

提示:您可以先修改部分代码再运行 js 二级横向滑动导航菜单效果代码 网站首页 JS代码 电子商务 免费模板 建站技巧 CSS技巧 CSS导航菜单 网络营销 SEO优化 免费模板-网页模板下载 网站公告:免费模板征集友情链接 免费模板 免费模板 免费模板 免费模板 免费模板 网页特效 免费模板 免费模板 网络营销 网络营销 网络营销 网络营销 网络营销 网页特效 免费模板 网页特效 网络营销 网络营销 免费模板 服务器租用首页 网络营销 网络营销 超级机房 免费模板 免费模板 免费模板 免费模板

JS+CSS实现自动切换的网页滑动门菜单效果代码_javascript技巧

本文实例讲述了JS+CSS实现自动切换的网页滑动门菜单效果代码.分享给大家供大家参考.具体如下: 这是一款支持自动切换功能的网页滑动门菜单,JS与CSS结合的技术成果,有人说它是自己会切换的网页选项卡标签面板,QQ登录后弹出的每日要闻迷你窗口中有类似效果,但是代码写法却是截然不同的,每一位作者的思路是不同的,因此您多了一份参考. 运行效果截图如下: 在线演示地址如下: http://demo.jb51.net/js/2015/js-css-auto-cha-tab-menu-style-code

jQuery蓝色风格滑动导航栏代码分享_jquery

这是一款基于jQuery蓝色风格滑动导航栏特效源码,实现滑块跟随鼠标左右滑动,和一般的导航相比很有动感,是一段超酷的导航栏滑动代码. 使用方法: 1.依次引入 nicenav.css.jQuery脚本库以及 jquery.nicenav.js 文件: 2.复制代码到页面中即可. 3.可以在代码中的 $.nicenav( )括号中设置滑块的滑动速度.  源码下载地址 为大家分享的jQuery蓝色风格滑动导航栏代码如下 <head> <style type="text/css&qu

Bootstrap实现默认导航栏效果_javascript技巧

导航栏是一个很好的功能,是 Bootstrap 网站的一个突出特点.导航栏是响应式元组件就,作为应用程序或网站的导航标题.导航栏在移动设备的视图中是折叠的,随着可用视口宽度的增加,导航栏也会水平展开.在 Bootstrap 导航栏的核心中,导航栏包括了为站点名称和基本的导航定义样式. 创建一个默认的导航栏的步骤如下: 向 <nav> 标签添加 class .navbar..navbar-default(白底黑字),navbar-inverse(黑底白字) 向上面的元素添加 role="

jquery实现鼠标点击后展开列表内容的导航栏效果_jquery

本文实例讲述了jquery实现鼠标点击后展开列表内容的导航栏效果.分享给大家供大家参考.具体如下: 这是一款基于jQuery实现的导航栏,鼠标点击后展开隐藏的列表内容,用来制作一个目录是最合适不过的选择.本例是锋利的jQeury中的一个实例,这是最终的优化版本,兼容性还示曾测试,在火狐的表现尚不知情,有兴趣的朋友可测试或修正. 运行效果截图如下: 在线演示地址如下: http://demo.jb51.net/js/2015/jquery-mouse-click-show-table-nav-co