W3C优质网页小贴士(四)(5)
作者:ZDYX 来源:zdyx.org 发布时间:2008-04-17 13:34:00
无序列表:你用过吗?
列表的观念
当网页中的内容属于某种列表时,你可以考虑使用无序列表(<ul>
)来展示这些内容。这不仅能改进HTML代码的可读性,还能为某些原本没有意义的内容赋予明确的意义。
未被广泛使用的现状
许多网站不喜欢使用无序列表来标记文档。在这些网站上,你常会看到许多由 <hr>
元素分隔的 <div>
标签,或由类似 |(竖线)或 •(•
)的符号分隔的一堆 <a>
标签。发生这种情况的最主要原因可能是 CSS样式表中 <ul>
元素的属性(padding,bullets 等)。许多网页作者发现对 <div>
之类熟悉的元素 应用 各种样式要比从 <ul>
中将这些样式 移除 更方便。再加上各种浏览器平台对 默认样式的不一致呈现 使得情况变得更复杂了。
幸运的是,目前绝大多数可视化浏览器已经支持 CSS 样式表,列表元素在这些浏览器中也统一了样式,这样一来就能避免传统的 <div>
或 <span>
标签的滥用了。延伸阅读 部分列出的一些站点解释了应如何操作。
使用无序列表的好处
没有样式表照样起作用
类似 <div>
和 <span>
的元素除了把内容分块外,在语义上毫无意义。它们所要表达的意义必须通过 CSS 样式表作用在网页浏览器上才能起作用。
而如果你将某些内容组织成列表,那么它就能直接从列表标记上表达其意义,而不需要 CSS 样式表的作用。某些只扫描网页内容(并忽略 CSS 样式表)的用户代理,如纯文本浏览器、文本转换为语音的浏览器,甚至一些 搜索引擎机器人 就能识别出那些用列表组织的内容,并通过列表方式将其呈现(或朗读)出来。
更好的易用性
将一系列链接(<a>
元素)直接放在一块儿会导致文本浏览器一起显示它们,这使得用户难以选择想要的链接。许多教程推荐在这样的链接中插入某些符号,作为防止混淆的临时解决办法。同样的问题发生在使用 <div></div> <div></div>
标签显示内容,使用 <hr>
标签或 CSS 的 border 元素作为内容分隔线时。而这种方法可能无法给人以多个内容块属于同一个相关系列的印象。
如果对上述情况中的内容使用无序列表,就可以让非可视化浏览器将这些内容以列表的方式呈现出来,而不是乱糟糟的一堆链接或排成一行不便于查看的元素。有意义的内容分组将自动出现,不再需要你添加分隔符号或使用 <hr>
元素。
这是一种好方法
列表的使用,能从语义上为意义相关的内容分组,即使你的 CSS 样式表被忽略也没有关系。在恰当的地方使用无序列表是构建一份好文档的聪明选择。


猜你喜欢
- python+selenium编写实现爬虫过程:1.爬虫循环处理table表,2.table表分页处理,3.网页table所有内容循环处理4
- <!--模板--> <table width="100%" borde
- --查看指定表的外键约束 select * from sysobjects where parent_obj in( select id f
- 1.C++ 代码Demo.h#pragma oncevoid GeneratorGaussKernel(int ksize, float s
- if (context.Request.UserAgent.ToLower().IndexOf(&qu
- 平时再用js写函数的时候,一般都是以惯例 function fn () {} 的方式来声明一个函数,在阅读一些优秀插件的时候又不免见到 va
- docs = [‘icassp improved human face identification using frequency dom
- 1.sonarqube是一款代码分析的工具,通过soanrScanner扫描后的数据传递给sonarqube进行分析2.sonarqube社
- 使用字符串创建矩阵是一个很实用的功能,之前自己尝试了很多次的小功能使用这个方法就能够简单实现。创建长度为16的字符串,是为了方便能够在各种数
- 滑动验证距离分别获取验证码背景图和滑块图两张照片,然后利用opencv库,通过高斯模糊和Canny算法进行处理,然后通过matchTempl
- 索引合并是mysql底层为我们提供的智能算法。了解索引合并的算法,有助于我们更好的创建索引。索引合并是通过多个range类型的扫描并且合并它
- 因为写js经常需要用到访问样式,我们常用的做法是通过 DOM.style.XXX来读写样式信息的。可是DOM.style这种写法只能访问&l
- pandas in 和 not in 的用法经常在处理数据中从一个总数据中清洗出数据, 但是有时候需要把没有处理的数据也统计出来.这时候就需
- 本文实例讲述了python使用any判断一个对象是否为空的方法。分享给大家供大家参考。具体实现代码如下:>>> eth =
- 本文实例为大家分享了python3单目标粒子群算法的具体代码,供大家参考,具体内容如下关于PSO的基本知识......就说一下算法流程1)
- 本文实例讲述了PHP简单实现冒泡排序的方法。分享给大家供大家参考,具体如下:<?php$files = array("fil
- #!/usr/bin/py2# -*- coding: utf-8 -*-#encoding=utf-8'''
- 数据可视化是任何探索性数据分析或报告的关键步骤,它可以让我们一眼就能洞察数据集。目前有许多非常好的商业智能工具,比如Tableau、goog
- 一、变量创建过程首先,当我们定义了一个变量name = 'Kwan'的时候,在内存中其实是做了这样一件事:程序开辟了一块内存
- python 实现单例的方法第一种方法:使用基类New 是真正创建实例对象的方法,所以重写基类的new 方法,以此保证创建对象的时候只生成一