您现在的位置: 万盛学电脑网 >> 程序编程 >> 网页制作 >> DivCSS教程 >> 正文

CSS教程:6.2 项目列表

作者:佚名    责任编辑:admin    更新时间:2022-06-22

class="area">

传统的HTML语言提供了项目列表的基本功能,包括顺序式列表的<ol>标记和无顺序列表的<ul>标记等。当引入css后,项目列表被赋予了很多新的属性.甚至超越了它最初设计时的功能。本节主要围绕项目列表的基本css属性进行相关介绍,包括项目列表的编号、缩进和位置等。

一、列表的符号

通常的项目列表主要采用<ul>或者<ol>标记,然后配合<li>标记罗列各个项目。简单的列表代码如下,其显示效果如图1所示。

本案例文件位于网页CSS教程资源“第6章\04\list.htm”。

折叠展开XML/HTML 代码复制内容到剪贴板
  1. <html>
  2. <head>
  3. <title>项目列表</title>
  4. <style>
  5. ul{
  6. font-size:0.9em;
  7. color:#00458c;
  8. list-style-type:decimal; /* 项目编号 */
  9. }
  10. </style>
  11. </head>
  12. <body>
  13. <ul>
  14. <li>Home</li>
  15. <li>Contact us</li>
  16. <li>Web Dev</li>
  17. <li>Web Design</li>
  18. <li>Map</li>
  19. </ul>
  20. </body>
  21. </html>
图1 普通的项目列表
图1 普通的项目列表

在CSS中项目列表的编号是通过属性list-style-type来修改的。无论是<ul>标记还是<ol>标记.都可以使用相同的属性值,而且效果是完全相同的。例如修改<ul>标记的样式为:

折叠展开CSS 代码复制内容到剪贴板
  1. list-style-type:decimal; /* 项目编号 */

此时项目列表将按照十进制编号显示,这本身是<ol>标记的功能。换句话说,在css中<ul>标记与<ol>标记的分界线并不明显,只要利用list-style-type属性,二者就可以通用,显示效果如图1所示。

当给<ul>或者<ol>标记设置list-style-type属性时,在它们中间的所有<li>标记都将采用该设置;如果对<li>标记单独设置list-style-type属性,则仅仅作用在该条项目上,如下所示。

折叠展开XML/HTML 代码复制内容到剪贴板
  1. <html>
  2. <head>
  3. <title>项目列表</title>
  4. <style>
  5. ul{
  6. font-size:0.9em;
  7. color:#00458c;
  8. list-style-type:decimal; /* 项目编号 */
  9. }
  10. li.special{
  11. list-style-type:circle; /* 单独设置 */
  12. }
  13. </style>
  14. </head>
  15. <body>
  16. <ul>
  17. <li>Home</li>
  18. <li>Contact us</li>
  19. <li class="special">Web Dev</li>
  20. <li>Web Design</li>
  21. <li>Map</li>
  22. </ul>
  23. </body>
  24. </html>

此时的显示效果可以看到第3项的项目编号变成了空心圆,但是并没有影响其他编号。

通常使用的list-style-type属性的值除了上面看到的十进制编号和空心圆以外还有很多,常用的如下表所示。

关键字 显示效果 disc 实心圆 circle 空心圆 square 正方形 decimal 1,2,3,4,5,6,…… upper-alpha A,B,C,D,E,F,…… lower-alpha a,b,c,d,e,f,…… upper-roman Ⅰ,Ⅱ,Ⅲ,Ⅴ,Ⅵ,Ⅶ,…… none 不显示任何符号

二、图片符号

除了传统的各种项目符号外,CSS还提供了属性list-style-image,可以将项目符号显示为任意的图片。例如有下面一段代码。

折叠展开XML/HTML 代码复制内容到剪贴板
  1. <html>
  2. <head>
  3. <title>项目列表</title>
  4. <style>
  5. ul{
  6. font-size:0.9em;
  7. color:#00458c;
  8. list-style-image:url(icon1.jpg); /* 不显示项目符号 */
  9. }
  10. </style>
  11. </head>
  12. <body>
  13. <ul>
  14. <li>Home</li>
  15. <li>Contact us</li>
  16. <li>Web Dev</li>
  17. <li>Web Design</li>
  18. <li>Map</li>
  19. </ul>
  20. </body>
  21. </html>

在IE 8的显示效果如图2所示,在FireFox中的显示效果如图3所示,每个项目的符号都显示成了一个小图标,即icon1.jpg。

图2 图片符号 图3 图片符号在FireFox中的效果
图2 图3 图片符号在IE8和FireFox中的效果

如果仔细观察图片符号在两个浏览器中的显示效果,就会发现图标与文字之间的距离有着明显的区别,因此不推荐这种设置图片符号的方法。如果希望项目符号采用图片的方式,则建议将list-style-type属性的值设置为none。然后修改<li>标记的背景属性background来实现。例如下面这个例子。

本案例文件位于网页CSS教程资源“第6章\04\icon-style.htm”。

折叠展开XML/HTML 代码复制内容到剪贴板
  1. <html>
  2. <head>
  3. <title>项目列表</title>
  4. <style>
  5. ul{
  6. font-size:0.9em;
  7. color:#00458c;
  8. list-style-type:none; /* 不显示项目符号 */
  9. }
  10. li{
  11. background:url(icon1.jpg) no-repeat; /* 添加为背景图片 */
  12. padding-left:25px; /* 设置图标与文字的间隔 */
  13. }
  14. </style>
  15. </head>
  16. <body>
  17. <ul>
  18. <li>Home</li>
  19. <li>Contact us</li>
  20. <li>Web Dev</li>
  21. <li>Web Design</li>
  22. <li>Map</li>
  23. </ul>
  24. </body>
  25. </html>

这样通过隐藏<ul>标记中的项目列表,然后再设置<li>标记的样式,统一定制文字与图标之间的距离,就可以实现各个浏览器之间的效果一致,如图2所示。