精彩专题推荐:建站之入门课 建站之必修课 建站之关键课 网站价值所在 流量提高专题 css+div 标准 个人网站打造全过程
返回建站学首页
导航:
建站首页 | 网站设计 | 网站开发 | 网站运营 | 网页软件 | 建站指南 | 搜索优化 | 图像处理 | 视频教程 | 书籍教程 | 建站专题
当前位置:首页>网站设计>html/xhtml教程>正文

使用HTML+CSS编写灵活的Tab页


来源:网页教学 时间:07-04-26 点击: 点击这里收藏本文

2. 构建基本CSS

先简单的让ul横向排列,这里面要注意元素float之后要注意清理

然后通过分别在LI 和 A 元素上应用背景来实现主菜单样式,这里有个比较重要的地方是A这个元素变成块级元素(display: block),这样可以便于我们下面做一些处理,也能使整个菜单应用到链接样式。
而其中的line-height,恰恰可以使A中的字纵向居中。text-align使得A中的字横向居中。 代码如下:

.navg .mainNavg UL {   
    margin: 0;   
    padding: 0;   
    list-style: none;   
}   
.navg .mainNavg UL LI {   
    float: left;       
    background-color: #E1E9F8;   
    background: url(../images/tab_right.gif) no-repeat right top;   
    margin: 10px 3px;   
    height: 25px;   
}
.navg .mainNavg UL LI A {   
    display: block;   
    height: 25px;   
    padding: 0 25px;   
    line-height: 24px;   
    background-color: #E1E9F8;   
    background: url(../images/tab_left.gif) no-repeat left top;   
    text-decoration: none;   
    float: left;   
    text-align:center;   
    color: #fff;   
    font-weight: bold;     
}

3. 使宽度自适应

我们在这里使用滑动门技术来做宽度自适应。下面简单介绍一下滑动门技术

简单来说,就是在LI上应用一幅大图像背景,并让这个背景居于右侧

使用HTML+CSS编写灵活的Tab页

然后在A上应用一个小图像背景,并让这个背景居于左侧,遮住大图像边缘

使用HTML+CSS编写灵活的Tab页

这样无论菜单文字内容长度怎么变,都不会破坏原来的结构了。

4. 当前菜单高亮显示

如果高亮当前页面,这个有很多种做法,最死板的是在每个页面上显式的定义类。
但是对于web项目来说,页面多数是动态的,所以这样不是最理想的方法。

我这里采用的方法是CSS选择器的灵活使用,代码如下:

#attendance #attendanceNavg,   
#teach #teachNavg,   
#communication #communicationNavg,   
#system #systemNavg {   
    background: url(../images/tab_right_on.gif) no-repeat right top;   
}   
#attendance #attendanceNavg A,   
#teach #teachNavg A,   
#communication #communicationNavg A,   
#system #systemNavg A {   
    background: url(../images/tab_left_on.gif) no-repeat left top;   
    color: #0000ff;   
}

在<div id="attendance" class="mainNavg">的代码中,我们可以使用不同的id作为选择器,由于CSS中的选择器id的优先级将大于class,所以只要根据id配合上li上面的id,就可以达到动态选择高亮选中的目的。

事实上,由于我们的页面都是动态的,所以id可以由后台生成,这样就可以通过id的不同组合非常精巧的实现了我们的需求。

5. 小技巧

最后可能还有一个问题你在想怎么实现的,就是高亮的tab如何把下面的横线遮掉的

很简单,图片上的小技巧。将高亮的图片高度设置为25px,而普通的图片设置为24px。然后通过padding,就可以将那根横线遮去了。

我们可以使用类似的方式,把二级菜单也做出来,这里就不详细叙述了。大家可以结合源码试一下。

9 7 3 1 2 4 8 :

  把此文章收藏到:          
广而告之
文章搜索
  • Google JZxue.Com

关于我们 | 联系我们 | 友情链接 | 网站地图
Copyright © 2005 - 2006 建站学 All rights reserved.