网络编程
位置:首页>> 网络编程>> 网页设计>> [翻译]标记语言和样式手册 Chapter 4 引用

[翻译]标记语言和样式手册 Chapter 4 引用

作者:zhaozy 来源:3user.com 发布时间:2008-01-20 14:19:00 

标签:样式,标记,css,手册

阅读:Chapter 3 * 的表格

“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>&#8212; 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>打扮一番,寻找样式创意的好机会.

0
投稿

猜你喜欢

  • SWFUpload上传组件,最初由Vinterwebb.se开发,组件主体由Flash与JavaScript整合而成,主要致力解决多文件、大
  • 场景一:A网站全站均为UTF-8编码,B网站全站为GB2312编码。A网站提供一段JS代码供B网站调用,该代码会动态生成一个FORM表单,以
  • 一、css样式表滤镜的构成 滤镜作为样式表大家庭中的一员,它跟其他样式表元素的定义和应用方式当然是一样的,能够直接定义在HTML标识的<
  • 有时候我们需要判断某一个IP地址是否属于一个网段,以决定该用户能否访问系统.比如用户登录的IP是218.6.7.7,而我们的程序必须判断他是
  • 需要准备的工具:SQL Query Analyzer和SqlExec Sunx Version第一部分:去掉xp_cmdshell保护系统的
  • 在某些情况下,比如自动补全(auto complete)的输入框中,需要使用keyup事件来监听键盘的输入以迅速作出回应。关键在于keyup
  • 我发现有的网站利用了SQL SERVER提供的通过EXCHANGE或OUTLOOK收发邮件的扩展存储过程来完成收发和自动处理邮件(这句话太长
  • 直接调用系统的颜色显示在网页上本来是件很好玩滴事,但是,也有个缺点,就是可用的色太少 比如Bindows在它的启动画面一点点应用。=。= 上
  •  <SCRIPT language=vbscript event=BeforeInitialBind(i
  • 这篇分享几个在地址栏实现的Javascript有趣效果和应用。能在浏览器地址栏实现的效果太多了,字体放大、显示所有图片、显示Cookie等等
  • 关于本文:本着互联网共享主义精神,特写此文献给建站新手,授人以鱼,不如授人以渔,本文所讲的只是方法和原理,希望大家看完此文,能够从中得到些帮
  • 每个人都可以编写CSS代码,甚至你现在已经让它为你的项目工作了。但是CSS还可以更好吗?开始用这5个Tips改进你的CSS吧!一、关于CSS
  • 笔者认为,在创建索引时要做到三个适当,即在适当的表上、适当的列上创建适当数量的索引。虽然这可以通过一句话来概括优化的索引的基本准则,但是要做
  • 如果是在Oracle10g之前,删除一个表空间中的数据文件后,其文件在数据库数据字典中会仍然存在,除非你删除表空间,否则文件信息不会清除。但
  • 原型:EventManager是一个重要的原型,它用来赋予对象自定义事件的能力当对象类型的原型继承EventManager时,对象具有定义、
  • 下面我们以论坛排行榜举例说明:<% @ LANGUAGE="VBSCRIPT" %&
  • replace 方法返回根据正则表达式进行文字替换后的字符串的复制。stringObj.replace(rgExp, replaceText
  • 一. 建库,建表,加约束. 1.1建库 代码如下:use master go if exists (select * from sysdat
  • [Q]怎么样查询特殊字符,如通配符%与_ [Q]如何插入单引号到数据库表中 [Q]怎样设置事务一致性 [Q]怎么样利用光标更新数据 [Q]怎
  •  无聊的人在无聊的时间做无聊的事打发自己,结果在无聊的事情中发现了IE对内联文字解释的一些疑惑。以下问题在FF2中没发现,而我也只
手机版 网络编程 asp之家 www.aspxhome.com