css3技术

用css网站布局之十步实录!(九)_div+css布局教程

字号+ 作者:H5之家 来源:H5之家 2015-09-21 18:18 我要评论( )

用css网站布局之十步实录!(九),学习用css网站布局之十步实录!(九),用css网站布局之十步实录!(九),查看用css网站布局之十步实录!(九),第九步:导航条

第九步:导航条的制作

  导航条之所以放在第九步讲,是因为导航条制作是本教程中最难的部分,自然也是技术含量最高的地方.导航条的制作可易可难,但这里介绍的相对较难,您能坚持到这一步已经很不易,假如你只是有个导航条就满足的话,请参看第八步的副导航条的制作。
  先去掉导航条的红色背景,还有就是移除html文件中main-nav层的"class="hidden"",使导航条的内容显示出来。我们实现导航条图片的变换的方法是纯css代码的,不包含任何js或是flash,因此我们所用的图片是4幅分别由三个小图组合而成的图片,如下所示,并将这4幅图保存于/images/nav/文件夹中:(另存图片后 改成相应的文件名)






  我们实现导航条的动态效果如下图所示:(GIF动画)



  在网页显示的只是图中红框标出的部分,假如把每幅图分为上,中,下三部分的话,未发生动作时显示上部,当光标悬停时,显示的是中部,被选择时则显示下部。
  接下来进入css代码部分,先往css文件中写入:

div css xhtml xml Example Source Code

Example Source Code []

/* Main Navigation */
#main-nav { height: 50px; }
#main-nav ul { margin: 0; padding: 0; }


  注重:/* Main Navigation */为增加css文件可读性的说明,不会影响表现。
  #main-nav的height属性定义了main-nav层的高度;"#main-nav ul" 则定义main-nav层中列表的属性,在这里先定义其margin和padding为0。
  根据先前的设计,导航条应该和左边有一定的距离,这就需要设置main-nav层的左边距(padding-left)为11px,但由于IE5和Mac浏览器的BUG,需要加入以下代码:

div css xhtml xml Example Source Code

Example Source Code []

/* IE5 Mac Hack \*/
#main-nav { padding-left: 11px; }
/*/
#main-nav { padding-left: 11px; overflow: hidden; }
/* End Hack */


  现在你可以看到导航列表距左边有11px的距离,但是列表项目是竖排的,将<li>,即列表项目向左对齐就能使其从左到右横向排列:

div css xhtml xml Example Source Code

Example Source Code []

#main-nav li { float: left; }


  为了使列表项目的尺寸和容纳它的层保持一致,并利用浮动属性使列表项目的文本隐藏,写入:

div css xhtml xml Example Source Code

Example Source Code []

#main-nav li a {
display: block;
height: 0px !important;
height /**/:50px; /* IE 5/Win hack */
padding: 50px 0 0 0;
overflow: hidden;
background-repeat: no-repeat;
}


  接着,要实现当光标悬停于列表项目上时,显示背景图片的中部,因此需要将背景图片向上移动50px,写入:

div css xhtml xml Example Source Code

Example Source Code []

#main-nav li a:hover {
background-position: 0 -50px;
}


  给各个列表项目设置宽度和背景图片的路径:

div css xhtml xml Example Source Code

Example Source Code []

#main-nav li#about,
#main-nav li#about a { width: 71px; background-image: url(../images/nav/about.gif); }
#main-nav li#services,
#main-nav li#services a { width: 84px; background-image: url(../images/nav/services.gif); }
#main-nav li#portfolio,
#main-nav li#portfolio a { width: 95px; background-image: url(../images/nav/portfolio.gif); }
#main-nav li#contact,
#main-nav li#contact a { width: 106px; background-image: url(../images/nav/contact.gif); }


  最后我们要做的就是,当列表项目被选时,显示背景图片的下部。为此我们需要增加一些css代码对原有的css表现作一些修改:

div css xhtml xml Example Source Code

Example Source Code []

body.about li#about,
body.about li#about a,
body.services li#services,
body.services li#services a,
body.portfolio li#portfolio,
body.portfolio li#portfolio a,
body.contact li#contact,
body.contact li#contact a {
background-position: 0 -100px;
}


  以上看似庞大的css选择器可以识别body标签的类(class),如html中为:

div css xhtml xml Example Source Code

Example Source Code []

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • 用css网站布局之十步实录!(一)_div+css布局教程

    用css网站布局之十步实录!(一)_div+css布局教程

    2015-09-25 16:40

  • 用css网站布局之十步实录!(二)_div+css布局教程

    用css网站布局之十步实录!(二)_div+css布局教程

    2015-09-25 16:37

  • 用css网站布局之十步实录!(十)_div+css布局教程

    用css网站布局之十步实录!(十)_div+css布局教程

    2015-09-21 18:18

  • 用css网站布局之十步实录!(四)_div+css布局教程

    用css网站布局之十步实录!(四)_div+css布局教程

    2015-09-21 18:18

网友点评