横向导航菜单-Web标准(div+css)教程
今天我们开始学习《十天学会web标准(div+css)》的html列表,包含以下内容和知识点:
一、横向列表菜单
二、用图片美化的横向导航
三、css Sprites
一、横向列表菜单
前边学习过纵向导航菜单,又学习了float属性,那么要实现横向导航菜单是不是很简单了,只需要把li横向排列就可实现了。把第四节的代码拿过来直接用,修改后的代码如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <style type="text/css"> body { font-family: Verdana; font-size: 12px; line-height: 1.5; } a { color: #000; text-decoration: none; } a:hover { color: #F00; } #menu { border: 1px solid #CCC; height:26px; background: #eee;} #menu ul { list-style: none; margin: 0px; padding: 0px; } #menu ul li { float:left; padding: 0px 8px; height: 26px; line-height: 26px; } </style> </head> <body> <div id="menu"> <ul> <li><a href="#">首页</a></li> <li><a href="#">网页版式布局</a></li> <li><a href="#">div+css教程</a></li> <li><a href="#">div+css实例</a></li> <li><a href="#">常用代码</a></li> </ul> </div> </body> </html> |
提示:可以先修改部分代码后再运行
最主要就是用float让li向右浮动后,实现横向排列,具体步骤不再赘述。以前许多朋友提问怎么让它水平居中,其实很简单,首先导航的宽度是固定的,然后设置margin:0 auto;即可实现了
为了用户体验更加友好,还是把a转换成块级元素,也可以给a设置背景色或背景图片来更加美观了,另外再设置鼠标放上时的样式。西安做网站推荐阅读>>> 下拉及多级弹出菜单-Web标准(div+css)教程,
#menu { width:370px; margin:0 auto; border: 1px solid #CCC; height:26px; background: #eee;}
#menu ul { list-style: none; margin: 0px; padding: 0px; }
#menu ul li { float:left;}
#menu ul li a { display:block; padding: 0px 8px; height: 26px; line-height: 26px; float:left;}
#menu ul li a:hover { background:#333; color:#fff;}
学到这里,常用的样式大部分都涉及到了,也许许多你还记不住,但至少混个脸熟。为了提高效率,建议大家还是手写代码,如果你还不能手写代码,就参考上边的样式,自己在css编辑器里设置吧,不再大量截图了。
经过上边的修改,现在的用户检验是不是更加友好了呢。
这里的#menu ul li a本来是可以不加float:left的,但IE6下在li没有设置宽度,#menu ul li a设置display:block的情况下,将会显示错乱,所以需要在a上增加float:left来修正。万恶的IE6,怎么就淘汰不掉呢.西安做网站推荐阅读>>> css表单设计-Web标准(div+css)教程,
二、 用图片美化的横向导航
背景图片也是网页制作当中最常用的样式之一,运用好背景图片,可以使你的页面更加出色,更加人性化和更快的加载速度。下面还是用以前视频教程中的实例进行讲解,或者直接去看视频教程http://www.aa25.cn/div_css/895.shtml。显示效果如下:
用到三张图片,分别为当前状态,鼠标放上时样式,和默认样式用的图片:
下面修改css样式,只截图了一张,设置方法相同:
#menu { width:500px; height:28px; margin:0 auto; border-bottom:3px solid #E10001;}
#menu ul { list-style: none; margin: 0px; padding: 0px; }
#menu ul li { float:left; margin-left:2px;}
#menu ul li a { display:block; width:87px; height:28px; line-height:28px; text-align:center; background:url(/upload/2010-08/17/091033_nav_bg2.gif) 0 0 no-repeat; font-size:14px;}
#menu ul li a:hover { background:url(/upload/2010-08/17/091033_nav_bg3.gif) 0 0 no-repeat;}
#menu ul li a#current { background:url(/upload/2010-08/17/091033_nav_bg.gif) 0 0 no-repeat; font-weight:bold; color:#fff;}
为了让用户知道当前所处的页面,做了一个当前页面的状态,把ID添加到相应的a上。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <style type="text/css"> body { font-family: Verdana; font-size: 12px; line-height: 1.5; } a { color: #000; text-decoration: none; } a:hover { color: #F00; } #menu { width:500px; height:28px; margin:0 auto; border-bottom:3px solid #E10001;} #menu ul { list-style: none; margin: 0px; padding: 0px; } #menu ul li { float:left; margin-left:2px;} #menu ul li a { display:block; width:87px; height:28px; line-height:28px; text-align:center; background:url(/upload/2010-08/17/091033_nav_bg2.gif) 0 0 no-repeat; font-size:14px;} #menu ul li a:hover { background:url(/upload/2010-08/17/091033_nav_bg3.gif) 0 0 no-repeat;} #menu ul li a#current { background:url(/upload/2010-08/17/091033_nav_bg1.gif) 0 0 no-repeat; font-weight:bold; color:#fff;} </style> </head> <body> <div id="menu"> <ul> <li><a id="current" href="#">首页</a></li> <li><a href="#">网页版式</a></li> <li><a href="#">web教程</a></li> <li><a href="#">web实例</a></li> <li><a href="#">常用代码</a></li> </ul> </div> </body> </html> |
提示:可以先修改部分代码后再运行
三、 CSS Sprites技术
CSS Sprites在国内很多人叫css精灵或css雪碧。它是把网页中一些背景图片整合到一张图片文件中,再利用CSS的背景图片定位到要显示的位置。这样做可以减少文件体积,减少对服务器的请求次数,提高效率。
讲CSS Sprites之前,先把背景图片给搞清楚
#menu ul li a { background:#ccc url(images/nav_bg2.gif) 0 0 no-repeat; }
css背景属性缩写后如上所示,#ccc表示背景色;url()里是背景图片路径;接下来的两个数值参数分别是左右和上下,第一个参数表示距左多少px,第二个参数表示距上多少,这和padding的简写方式是不 一样,一定不要弄混。另外再强调一点css中值为0可以不带单位,其它数值都必须带单位(line-height值为多少倍时,zoom,z-index除外);no-repeat表示背景图片向哪个方向重复,此时为不重复。西安做网站推荐阅读>>> div+css网页标准布局实例教程-Web标准(div+css)教程,
还需说明一点的是定位图片位置的参数是以图片的左上角为原点的,理解了这些,CSS Sprites技术就基本上懂了,就是靠背景图片定位来实现的。把三张背景图片整合到一张上,如下图:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <style type="text/css"> body { font-family: Verdana; font-size: 12px; line-height: 1.5; } a { color: #000; text-decoration: none; } a:hover { color: #F00; } #menu { width:500px; height:28px; margin:0 auto; border-bottom:3px solid #E10001;} #menu ul { list-style: none; margin: 0px; padding: 0px; } #menu ul li { float:left; margin-left:2px;} #menu ul li a { display:block; width:87px; height:28px; line-height:28px; text-align:center; background:url(/upload/2010-08/17/091033_nav_bg.gif) 0 -28px no-repeat; font-size:14px;} #menu ul li a:hover { background:url(/upload/2010-08/17/091033_nav_bg.gif) 0 -56px no-repeat;} #menu ul li a#current { background:url(/upload/2010-08/17/091033_nav_bg.gif) 0 0 no-repeat; font-weight:bold; color:#fff;} </style> </head> <body> <div id="menu"> <ul> <li><a id="current" href="#">首页</a></li> <li><a href="#">网页版式</a></li> <li><a href="#">web教程</a></li> <li><a href="#">web实例</a></li> <li><a href="#">常用代码</a></li> </ul> </div> </body> </html> |
提示:可以先修改部分代码后再运行
文章出处:标准之路 编辑:杨雨晨思
相关文章:
-
西安网站建设_西安做网站_西安网站制作——西安网络公司...
-
CSS实现图片裁剪居中 其实,css实现起来很简单,只需要设置img的样式:object-fit:none即可,不过你要给img一个高度,因为裁剪嘛 页面:(图片可以自己随便截两张来测试) !--长图片-- div clas...
-
CSS背景图片自适应全屏 .bg{ background:url(bg.png) no-repeat; background-size:cover; filter : progid:DXImageTransform.Microsoft.AlphaImageLoader ( enabled=bEnabled , sizingMethod=sSize , src=sURL )//IE特有的滤镜 }...
-
Viewport viewport:可视窗口,也就是浏览器。 vw Viewport宽度, 1vw 等于viewport宽度的1% vh Viewport高度, 1vh 等于viewport高的的1% CSS3使用Calc calc()使用通用的数学运算规则,但是也提供更智能的功能:...
-
从企业建站角度讲,最便捷、最适合企业的建站系统莫过于自助建站系统,市场上可供选择的自助建站平台也是一搜一大把。这些自助建站平台采用傻瓜式建站风格,容易上手,操作简单方便...
-
现在想做一个网站成本很低了,买个域名,买个几十块空间,弄个网站建设程序就可以开始你的玩耍了,如果你还想找成本更低的,可以看下面的分享。 如何创建网站一直都是很多朋友想要知...
-
商城网站建设如何将吸引力提升 在信息如此丰富多样的今天,商城网站建设如何才能够在众多的同类当中脱颖而出,获得大众的吸引和青睐呢?这其实是相关网站建设人员一直在思考的一个问...
-
现在越来越多的企业重视网站的运营推广,那怎样推广效果更好呢?西安蟠龙网络小编认为没用永恒不变得,而且要根据企业的具体情况选择合适的推广方式才是最好的,如果你又运营推广的...
-
随着互联网的发展,人们每时每刻已经离不开网络,而网站是网络的基本组成部分,可以这么说,网络是由各种各样的网站组成的,当下,网站是每个企业的标配,很多个人都有自己的网站,...
-
网站现在是一个企业的标配,很多没有网站的企业不清楚网站对企业有什么作用,那么今天西安蟠龙小编总结一下网站对企业都有哪些好处,希望看完之后您对网站有更深一层的认识。 一、低...