[翻译]标记语言和样式手册 Chapter 7 锚点(4)
作者:zhaozy 来源:3user.com 发布时间:2008-01-28 14:01:00
方法D:合而为一
<p><a href="#oranges">About Oranges</a></p>
...一些文字...
<h2><a id="oranges" name="oranges">Oranges Are Tasty</a></h2>
...更多文字...
如果在标记锚点时,你希望达到向前兼容和向后兼容,那么你大概会喜欢这种方法.不管是古老的或是未来的浏览器都能正确的辨识具名锚点标签,但是由于W3C在XHTML1.0建议书中不推荐使用name属性(http://www.w3.org/TR/xhtml1/#C_8),因此你也用id属性支持未来的浏览器.
与方法B相同,我们必须留意对<a>标签造成影响的全局样式.
共享名称
如果你选择使用方法D的话,为id与name属性选用相同名称完全可以被接受(可能也十分便利),但是只在它们位于相同标签时才能这样.此外,也只有几个特定的标签允许这么做,精确来说,包含了<a>,<applet>,<frame>,<img>,<map>.因此,我们把id="oranges"从<h2>移到锚点标签之内.
现在我们已经看过了四种建立锚点的方法,让我们归纳一下每种方法的优劣.
归纳
虽然我觉得有两种方法略占优势(C和D),但是这一章里头大概没有明显的优胜者,每个方法都有用各自的优缺点,让我们回顾一下每种方法:
方法A:
应该能在大多数浏览器上正常运作.
内容空白,因此无法为标签提供结构,语义.
需要额外的标签.
由于XHTML1.0不推荐使用name属性,因此必须考虑向后兼容.
方法B:
应该能在所有浏览器上正常运作.
需要额外的标签.
必须留意<a>的全局样式有可能会覆盖外层标签的样式.
由于XHTML1.0不推荐使用name属性,因此必须考虑向后兼容性.
方法C:
标签较少.
可以使用已经具备的id属性.
能够向后兼容.
需要最近的浏览器才能正常运作.
方法D:
同时具备向前兼容和向后兼容.
必须留意<a>的全局样式有可能覆盖外层标签的样式设定.
需要额外的标签.
看来方法C与D是比较好的选择,具备向后兼容,较少的标签,与额外标签,完全兼容型形成对比,我的建议是考虑读者群,并且以此进行适当的决定.
举例来说,如果你正在构建一套需要最新浏览器才能使用的网络应用程序或是内部网站,那么方法C大概是最棒的选择.这个方法不需要额外的标签,但是已知某些4.X版本的浏览器无法正常处理这个方法.
如果你设计一个会被任何人,在任何时间浏览的网站,你或许会选择方法D,这个方法能够确保向前兼容以及向后兼容,但是必须背负锚点标签的些许包袱.
选择权在你,希望在看过每个方法后,能在适当时机选择适当的方法使用.


猜你喜欢
- 本文实例为大家分享了python实现udp传输图片的具体代码,供大家参考,具体内容如下首先要了解UDP的工作模式对于服务器,首先绑定IP和端
- 我用的是python3+,而官网给的例子是python2的写法。问题就在python版本不同。下面是截取官方的实例代码的一部分list =
- 安装npm install --save reduxnpm install --save redux-saga配置actionactionT
- juypter notebook中直接使用log_device_placement=True打印不出来device信息# Creates a
- 由于学习需要安装matplotlib库,阅读网上教程后一直出现各种各样的错误,以下为我的经验总结:声明:本人python版本为3.8.0,p
- 感谢Mr.Cool 给asp之家投递精彩的文章!站长你好,我经常光临你的站点,因为我也特别喜欢ASP写网页,你的站点上提供的代码比较适用哈,
- (1)如下代码,默认递归获取指定目录root_dir下的所有文件,当指定recursive参数为False时,则只获取root_dir目录下
- 比如:import linecacheprint linecache.getline('2.1_open.py&
- Mysql可以通过运算符来对表中数据进行运算,比如通过出生日期求年龄等运算符包括四类,分别是:算数运算符、比较运算符、逻辑运算符和位运算符算
- 本文转自微信公众号:"算法与编程之美"1、前言侧滑是一个非常实用的选项组件,它在Android App应用中非常广泛,常
- PDOStatement::columnCountPDOStatement::columnCount — 返回结果集中的列数。(PHP 5
- 在写sql的时候,由于有部分语句别名不能调用,百度了一下原因,原来是由于别名机制不同引起的。为了避免下一次再犯同样的错误,今天把网上找到资料
- wechat_sender 是基于 wxpy 和 tornado 实现的一个可以将你的网站、爬虫、脚本等其他应用中各种消息 (日志、报警、运
- 大家在打开带有图片的网页时,有时会看到这样的情况:当鼠标指向图片的不同部位时,可以打开不同的超链接,这
- 写在前面周日下午在家学习,看到一个关于切片的问题,在网上找了一些资料,做个总结。上代码func main() {sl := make([]i
- 问题描述:已有的model,修改之后,想重新建模,于是将migrations文件夹中除__init__.py之外其他文件都删掉,再次执行以下
- 本文实例讲述了Python实现统计给定字符串中重复模式最高子串功能。分享给大家供大家参考,具体如下:给定一个字符串,如何得到其中重复模式最高
- 当使用pytorch写网络结构的时候,本人发现在卷积层与第一个全连接层的全连接层的input_features不知道该写多少?一开始本人的做
- 进程互斥锁多进程同时抢购余票# 并发运行,效率高,但竞争写同一文件,数据写入错乱# data.json文件内容为 {"ticket
- 上一篇博文,我们已经顺利的从cnodejs.org请求到了数据,但是大家可以注意到我们的/src/api/index.js的第一句就是://