[翻译]标记语言和样式手册 Chapter 4 引用
作者:zhaozy 来源:3user.com 发布时间:2008-01-20 14:19:00
“Misquotations are the only quotations tha are never misquoted”
只有错误的引用永远不会被误用 - Hesketh Pearson
所有类型的网站都经常会使用引用,不管是引用其他网页、作者或出版物的内容,以标准方法标记引用内容是非常有好处的。因为一旦完成结构之后,只需要一些简单的css就能把引用内容变成漂亮的设计元素。
让我们看看下面三种用来标记引言的方法,同时讨论一下每个方法的优缺点,在我们找到最棒的方法之后,再来研究这几个相关元素与样式在标记冗长引用内容时哪种方法最佳。
我们来仔细研究每个方法,并且找到最便于完成任务的“工具”,更重要的是,要弄清楚为什么它是最棒的工具。
方法A:缺乏语义
<p>"Misquotations are the only quotations that are never misquoted."</p> <p>— Hesketh Pearson</p>
在页面内使用引用的时候,通常会希望引用的外观与其他文字不同,最好能提示读者这段内容来自其他地方,同时(使用适当方法)与一般内容的阅读顺序分离。
方法A的标记方法与页面上的其他段落并没有不同,因此我们没有办法为它设定不同的样式,内容里的双引号就变成了引用内容的唯一提示了。
顺便提一下,在这个方法与之后的两个例子中 — 是长破折号(也就是“—”)的HTML字码,这里使用了10进制表示方法。这是支持所有浏览器最可靠的方法。或者,你也可以使用 —
方法B:以class处理?
<div class="quotation">
<p>Misquotations are the only quotations that are never
misquoted.</p>
<p>— Hesketh Pearson </p>
</div>
由于在包围引用内容的<div>标签里加了class="quotation",因此我们能够为它指定独特的css样式,但是HTML拥有专门解决这个问题的完美标签,因此建立这个特别分类似乎有点多余,我们马上就会看到这个完美的HTML标签.
在我们开始使用加上类的<div>之后,如果我们想让整个网站的样式保持一致,在标记各处引用的时候都会被限制在这个方法中,我们必须背下这个标签引用的特别的语法以便未来使用.如果我们管理的是以<div>与分类属性标记各种结构元素的大型网站,那就十分头疼了.因为事情很快就会变得十分散乱,而你将会需要一份记录所有自定分类的名称、用途的表格了。
使用不支持或者关闭css的浏览器访问这个方法标记的引用时也会发生问题。由于<div>只是一般容器,因此里面的内容没有任何预设样式.对使用旧版本浏览器,文字模式浏览器,屏幕阅读器的人来说,看到没有css的引用,和页面里其他内容完全一样.
方法C:<blockquote>最棒
<blockquote>
<p>Misquotations are the only quotations that are never
misquoted.</p>
<p>— Hesketh Pearson </p>
</blockquote>
W3C建议使用<blockquote>标记长引用(区块级内容),这个标签正是为了处理我们正在讨论的状况设计的,借着使用这个标签,我们能为内容加上结构意义,同时能提供独特的标记以便为可视化浏览器设定样式.
没有加上任何样式的话,<blockquote>标签的内容会缩进显示,这是最基本的视觉提示,足以将引用内容和一般文字区别开.然而,这种预设样式却引来了一种恶劣的习惯,我们稍后就会讨论.
用起子钉钉子
或许因为<blockquote>的内容看起来就像内缩过的段落,或者是从前需要缩进某个区块,某段文字的时候,你就会使用<blockquote>搞定.
不幸的,这是个非常糟糕的习惯,补救方法之一,是改用适当的元素加上css的padding-left或margin-left属性,以往<blockquote>常被这样滥用来设定显示效果,而不是用来标记内容结构.
由于有这种坏习惯,因此W3C建议将描述引用符号的责任交给样式表,不希望浏览器主动显示,在本章的"技巧延伸"中,我们会看到如何巧妙的加上漂亮的引用符号.
概要
让我们快速回顾一下,为什么方法C在标记长引用的时候比其他两种方法棒.
方法A:
无法轻易加上不同的样式,使它与页面其他内容区分开来
不提供任何引用的语义,结构标识.
方法B:
加上独特的分类让我们易于指定样式,但是<blockquote>可用,所以根本不需要
如果想要维持页面/网站的风格一致,在标记未来新增引用的时候,我们就会被限制在这个方法里面
方法C:
这是W3C为这个目标所设计的元素,能够标识内容的意义,结构.
容易使用CSS为<blockquote>元素内部的引用加上独特样式. 缺少CSS的时候,<blockquote>预设的表现方式足以让可视化,非可视化浏览器提供暗示. 现在是为<blockquote>打扮一番,寻找样式创意的好机会.


猜你喜欢
- 当浏览者进入你的网站首页时或提交某些表单时,会弹出网站声明或提交说明等文本信息框,引导浏览者使用你的网站。实现这个功能我们是用Dreamwe
- 1、查看数据库的字符集数据库的字符集必须和Linux下设置的环境变量一致,不然会有乱码。以下两个sql语句都可以查到:select * fr
- 导言在前面三节的示例中,GridView和DetailsView控件使用的是绑定列和CheckBoxField(绑定GridView和Det
- 利用Python + wxpy 可以快速的查询自己好友的地区分布情况,以及好友的性别分布数量。还可以批量下载好友的头像,拼接成大图。本次教程
- 背景最近处理文本文档时(文件约2GB大小),出现memoryError错误和文件读取太慢的问题,后来找到了两种比较快Large File R
- 需求:1.大量csv文件,以数字命名,如1.csv、2.cvs等;2.逐个打开,对csv文件中的某一列进行格式修改;3.将更改后的内容写入新
- 我们的目标是秒杀淘宝或京东等的订单,这里面有几个关键点,首先需要登录淘宝或京东,其次你需要准备好订单,最后要在指定时间快速提交订单。这里就要
- 本文实例讲述了PHP实现的杨辉三角求解算法。分享给大家供大家参考,具体如下:♥ 前言对于 杨辉三角 是什么的问题,请参考百度百科的详细解释:
- 简介:记录一下关于 Python 环境软件包的一些安装步骤1、升级 Python 到 2.7.10( 默认 2.6.6 )shell >
- 在处理css的机制上,IE总是有很多让人吐血的举动,但对于他们现在的改进力度还是值得高兴的。就拿对伪类:hover的支持来说,IE7+终于添
- 查看数据库show databases;创建数据库create DATABASE 数据库名称create DATABASE database
- 首先,单表的UPDATE语句:UPDATE [LOW_PRIORITY] [IGNORE] tbl_nameSET col_name1=ex
- 今早在对一张table 创建primay key过程中发生了断电,当电脑再次启动时候,发现mysql 服务无法启动,使用 net start
- 本文介绍了tf.truncated_normal与tf.random_normal的详细用法,分享给大家,具体如下:tf.truncated
- 步骤一:index页面处理<!DOCTYPE html><html lang="en"><
- Window.Open详解 一、window.open()支持环境:JavaScript1.0+/JScript1.0+/Nav2
- 1、连接数据库 driver={SQL Server};server=服务器IP;uid=用户名;pwd=密码;database=数据库名
- 本文实例讲述了mysql累积聚合原理与用法。分享给大家供大家参考,具体如下:累积聚合为聚合从序列内第一个元素到当前元素的数据,如为每个员工返
- 随着网站访问量的加大,每次从数据库读取都是以效率作为代价的,很多用ACCESS作数据库的更会深有体会,静态页加在搜索时,也会被优先考虑。互联
- 多的不说,看了代码就懂了!df = pd.DataFrame ({'a' : np.random.randn(6), &nb