RSS
热门关键字:  CSS教程  CSS布局  CSS样式  CSS hack  CSS JS
当前位置 :| 主页>CSS菜单>

用CSS li制作标签卡Tab效果

来源:cssplay 作者:cssplay 时间:2008-02-22 点击:

  亚马逊网站应该不会陌生吧?对它页面上方标签卡(Tab)方式的导航条(如下图)还有印象么? 

  amazon.com这种方式得导航引起了相当多人的效仿。那么,它是如何做到的呢?有过网页设计经验的人应该不难明白,如果不知道细节的话,通过察看源代码就能知道,它实际上是通过在表格中插入事先制作好的作为标签卡的图片来制作的,标签卡的效果通过颜色来控制,比如上图中的“YOUR STORE”这张图片和底下子栏目的颜色一致,背景都为深蓝色,这样看上就向一张卡片了。

  不过,现在网页设计的趋势是XHTML+CSS来完成。那么,如果不用图片加表格的方法,有没有办法仅仅利用CSS来制作呢?有的,可以通过项目列表的CSS设定来做到。 

  这张图,就是利用这种方法来制作的。

  下面,我们就分别来学习CSS的标签卡制作。

利用列表元素制作标签卡
  通常情况下,项目列表的排列方式是垂直的,并在前头带有特定的项目符号,如下:

项目列表一
项目列表二
项目列表三
项目列表四

  它所对应的HTML代码是这个样子:

  <ul>
<li>项目列表一</li>
<li>项目列表二</li>
<li>项目列表三</li>
<li>项目列表四</li>
</ul>

  那是否你曾想到过,项目列表也可以不垂直排列,而是水平分布呢?在Html中无论如何是做不到这点的。可是CSS却提供了这种方法。

  首先,我们把项目列表放入到div标记中,如下:

  <div id="horizonlist">

  <ul>
<li>项目列表一</li>
<li>项目列表二</li>
<li>项目列表三</li>
<li>项目列表四</li>
</ul>

  </div>

  然后,我们为这个id为horizonlist的Div设定如下样式:

#horizonlist {//*设定div的Box属性*//
border: 1px solid #000;
margin: 2em;
width: 80%;
padding: 5px;
font-family: Verdana, sans-serif;
}
#horizonlist ul, #horizonlist li {//*设定限制于horizonlist的div内的ul和li的属性*//
display: inline;
margin: 0;
padding: 0;
color: #339;
font-weight: bold;
}

  此样式作用于所给项目列表的结果如下:

项目列表一
项目列表二
项目列表三
项目列表四
  可以看到,此时的项目列表成了水平放置,而且列表前的符号自动消失。之所以这样,关键在于属性display的设置值inline的作用。 display用来改变元素的显示值,可以将元素类型线上,块和清单项目相互变换,其中取值inline的作用是“删除元素前后的分行符,使其并入其它元素流中”。在这里,inline取消了每个列表项目后的换行,而成为一行显示。

  顺着这个思路下去,如果我们给每个列表项目设定Box属性,那不就有了类似标签卡的效果出来了么:

项目列表一
项目列表二
项目列表三
项目列表四
  我们来看看这个例子的代码:

  <div id="tabdemo">
<ul>
<li>项目列表一</li>
<li>项目列表二</li>
<li class="selected">项目列表三</li>
<li>项目列表四</li>
</ul>
</div>

  和上面的例子不同,这里的项目列表三多了类名“selected”,用来表示当前被选中的标签卡。

  相应的CSS属性设定如下:

  #tabdemo ul li {
margin-left: 0;
margin-bottom: 0;
padding: 2px 15px 5px;
border: 1px solid #000;
list-style: none;//*不显示列表符号*//
display: inline;//*取消项目之间的分行*//
background-color: #ffc;
}

#tabdemo ul li.selected {//*设定被选中的列表的效果*//
border-bottom: 1px solid #fff;
background-color: #fff;
list-style: none;
display: inline;
}

  如果你希望每个标签卡之间有一定的距离,可以修改#tabdemo ul li此设定中的margin-left属性值,比如改为2,就可以看到类似早先给出的那张蓝色标签卡的样子。


Tag:Tab效果   标签卡   li  
最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册
热点实例