为什么html斜体标签标签基本上无法翻译,且没有读音

我要翻译Paul Graham了 - 阮一峰的网络日志
我要翻译Paul Graham了
这些天,我总有点魂不守舍。
典型表现就是,非常烦躁和空虚。宁愿坐在电脑前,一遍又一遍扫雷,也不想干正经事,网志也不知道写些什么。不过有一件事,我想最好还是现在说一下,不要留到明年再宣布。
话说今年8月份,我翻译完,已经精疲力竭,对这种通过长时间击键,将英语改写为汉语的廉价体力+脑力劳动深恶痛绝,再也不想干了。
交稿的时候,出版社编辑问我,还想不想翻译其他书。我说,不想了,除非你们有的书。此人的上一本书是五年前出版的,我觉得不太可能再引进了。
但是,几星期前,的傅志红编辑写信告诉我,他们买下了Paul Graham的文集的简体中文版权,询问我有无翻译意向。
我一秒钟也没有停顿,立刻一口答应。我还能有什么其他回答呢?我是他的粉丝,翻译Hackers and Painters是我一直以来的心愿。
下面,我就告诉你,我为什么那么想翻译Paul Graham。
他1964年出生于英国,在康奈尔大学读完本科,然后在哈佛大学获得计算机科学博士学位。1995年,他创办了Viaweb,帮助个人用户在网上开店,这是世界上第一个互联网应用程序。1998年夏天,Yahoo!公司了Viaweb,收购价约为5000万美元。
此后,他架起了个人网站,在上面撰写了许许多多关于软件和创业的文章,以深刻的见解和清晰的表达而著称,迅速引起了轰动。2005年,他身体力行,创建了风险投资公司,将自己的理论转化为实践,目前已经资助了80多家创业公司。现在,他是公认的互联网创业权威。
但是,在我眼里,除了程序员和创业导师,他更像一个思想家。网络技术将如何影响这个世界的未来,没有人说得比他更深刻。说实话,我在网上看了这么多人的文章,在思想方面,他的文章对我影响最大。这也是我热爱他的原因。
让我来随便摘录几段他的话,大家看看,说得多精彩。
* 最纯粹、最抽象的设计难题之一,就是设计桥梁。你面对的问题,基本上就是如何使用最少的材料,跨越给定的距离。(Five Questions about Language Design)
* 软件最大的好处,就是让一切变得简单。但是,做到这一点的方法,是正确设置缺省值,而不是限制用户的选择。(The Other Road Ahead)
* 如果你只知道设计软件,而不知道如何部署它,那么你不能创业。(The Other Road Ahead)
* 在任何一段历史中,人们都会把某些荒谬的东西当作正确,并且深信不疑,以至于一旦你出言质疑,就有被排挤或者被暴力伤害的危险。我们自己的这个时代,要是不同以往,当然令人欢欣鼓舞。但是就我所知,它并没有任何不同。(Taste for Makers)
* 根据经验法则,一个国家的名字前形容词越多,它的统治者就越腐败。"某某社会主义人民民主共和国"(Socialist People's Democratic Republic of X),可能是地球上你最不想生活的地方。(A Plan for Spam)
* 看上去,这是一个残酷的世界,也是一个乏味的世界,我不太肯定哪一个更糟一些。(Why Nerds are Unpopular)
* 当你踩水的时候,你把水踩下去,你的身体就会被托起来。同样的,在任何等级制社会中,那些地位得不到公认的人,就会通过虐待他们眼中的下等人,来突显自己的身份。我读到过这方面的文章,讲述为什么美国的底层白人是对待黑人最残酷的群体。(Why Nerds are Unpopular)
* 许许多多不创造任何财富的人----比如本科生,记者和政治家----一听到最富有的5%人口,占有全社会一半以上的财富,往往会认定这是不公平的。一个有经验的程序员,很可能也持有同样看法。因为最顶尖的5%程序员,写出了全世界99%的优秀软件。(How to Make Wealth)
* 我偶尔会读到一些文章,讲述如何管理程序员。说实话,其实只要两篇文章就够了。一篇是如果你本人就是程序员,应该如何去管理其他程序员;另一篇则是你本人不是程序员的情况。后一篇文章也许可以浓缩为两个字:放弃。(Great Hackers)
* 不管什么时候,黑客真正想工作的地方,只有10到20个。如果你的公司不是其中之一,你所能得到的一流技术高手,不是数量多少的问题,而是一个也不会有。(Great Hackers)
* 竞争者不过就是对着你的下巴打一拳,而投资者则是一把抓住你的下身。(How to Fund a Startup)
* 对于做产品的公司,等你需要咨询公司帮你出主意的时候,就是你开始走向灭亡的时候。(How to Fund a Startup)
* 对于那些他们真正关心业绩的企业,欧洲人实际上能够容忍解雇工人。但是不幸的是,目前他们唯一真正关心的企业只有一家,叫做"社会"。(Why Startups Condense in America)
* 我实际上很担心自己变得"流行",那样的话,我就会小心翼翼,不再像以前那样敢于说蠢话。这种事情发生在许多人身上,我真的想避免它。(A comment in Lemonodor)
他的更多思想,请看我以前翻译的《未来的互联网创业》(,),,。
如果一切顺利的话,Hackers and Painters的中译本《黑客和画家----Paul Graham文集》将在明年下半年问世。
对于我来说,翻译完这本书以后,在翻译方面,就再没有什么心愿了。乔伊斯的《都柏林人》、《一个青年艺术家的肖像》和塞林格的《九故事》、《木匠们,把房梁抬高些》都有很完美的中译本,不需要我来译,而的小说集我倒是想译,但是我不懂意大利文,估计出版社也不会来找我。
今天宣布一个消息:我的两本书----《未来世界的幸存者》和《前方的路》----正式出版了。
2018年初,日本政府修改法律,推迟公务员的退休年龄。
如果你经常看这个博客,可能知道我正在写一本书《未来世界的幸存者》。
我读过一本医学畅销书《最好的告别》,作者是美国医生葛文德。html version
以上为机器翻译结果,长、整句建议使用
The first proposal for a new HTML version came from a work group initiated by the W3C.
关于新 HTML 版本的第一个提议来自 W3C 组织的一个工作组。
Surprisingly, there's not a tremendous amount of difference between a static HTML version of this site and the live site.
令人惊奇的是,对于这个站点,静态的HTML版本和动态的版本没有很大的不同。
I was able to get a static HTML version of Coding Horror up almost immediately thanks to Rich Skrenta of blekko.com.
幸亏有 blekko.com的Rich Skrenta,这样我才能几乎立即找到Coding Horror站点上的静态的HTML版本。
At the same time, the World Wide Web Consortium is working on a new version of HTML, the lingua franca in which billions of Web pages are written.
While most websites are currently built using version 4 of the Hyper Text Markup Language (HTML), that code is gradually being superseded by the newer version 5.
Those settings run the gamut from simple emulation, to setting it to run a particular version of Java, to even replacing strings within the HTML or CSS so that the app renders properly in an upgraded browser.
$firstVoiceSent
- 来自原声例句
请问您想要如何调整此模块?
感谢您的反馈,我们会尽快进行适当修改!
请问您想要如何调整此模块?
感谢您的反馈,我们会尽快进行适当修改!> HTML translate 全局属性
HTML translate 全局属性
HTML&translate&属性定义和用法
translate 属性规定元素内容是否要翻译。
测试:使用 Google 翻译工具,查看以下单词 "ice cream" 会变成什么:
这边我们使用 translate="no":&ice cream.
这边我们使用 class="notranslate":&ice cream.
提示:&使用 class="notranslate" 替代。
HTML 4.01 与 HTML5之间的差异
translate 属性是 HTML5 新增属性。
&element&translate="yes|no"&
规定元素内容需要翻译
规定元素内容不需要翻译
浏览器支持
目前没有主流浏览器支持 translate 属性。
轨道一些元素不被翻译:
&p translate="no"&Don't translate this!&/p&
&p&This can be translated to any language.&/p&
文章来源:壹虹通SEO学习=> 《》
本文地址:
除非注明,文章均由 《》 原创,欢迎转载!转载请注明本文地址,谢谢。
人浏览, 获得评论
HTML全局属性-最近文章
壹网销全网营销系统是一款专业的企业级网络营销系统,致力于向中小企业提供一站式的网络营销解决方案。产品包含了建站、seo、群发到WAP网站等服务并实现了数据互通。壹网销成立于2010年,现已有超过数十万个用户享受使用我们提供的技术支持和服务,帮助中国数千家网络基础应用服务商建立起技术和服务体系。
咨询请联系:
业务客服:
技术客服:
(4)(8)(9)(2)(0)(0)(0)(36)(0)(0)(3)(3)(0)(6)(5)(0)(2)(1)(0)(0)(0)(0)(0)(0)(0)(0)(0)(0)(0)(0)(0)(0)(0)(0)(0)(0)(0)(0)(0)(6)(3)(28)(3)(4)(11)(3)(3)(9)(7)(5)(6)(7)(1)(9)(2)(4)(2)(1)(0)(8)(118)(16)(20)(0)(40)(22)(33)(101)(0)(0)16.4k 次阅读
本文选译自:。
解释一下W3C Working Group Note,作为“工作组笔记” 发布,意味着它是一个草稿版文档,可能被其它文档更新、替换或废弃。但由于翻译时草稿只发布了不到二十天,本文有很好的时效性。也作为比较性质的文献,比起HTML5的标准它更容易理解,可以让人快速地理解HTML5的变化轮廓。
关于本翻译:
原文所有指涉HTML5的地方用的要么是无定语的"HTML",要么是“新的HTML”,为了避免和HTML4的混淆,均写作HTML5;
由于缺乏一目了然的译名,原文中的User Agent统一简写为UA;
由于原文的章节划分非常合理,第五节的属性均为Property,此外其它的章节均是Attribute,因此本文不在翻译上区分它们,均译作“属性”;
Application统一简写为App;
为避免混淆,第四节即文档模型章节部分,分类名均保留英文名不翻译。
第五节中IDL()相关内容由于没有标准翻译,概念legacy caller、
Stringifiers、
setter、getter、creator、deleter等均保留原文
1.1. 文档范围
本文档覆盖W3C的HTML5标准,它不包含W3C HTML5.1标准或WHATWG HTML标准。
1.4. 向后兼容
HTML5是这样被定义的:能向后兼容目前UA处理内容的方式。为了让语言更简单,一些老的元素和Attribute被舍弃。比如一些纯粹用于展现的元素(译注:即非语义化的元素,如big)或Attribute被舍弃,因为他们更适合用CSS来处理。
但UA依然可以支持老旧的属性和元素。这就是为什么HTML5标准清楚地划分了给开发的要求和给UA的要求。比如,开发者不应当使用plaintext元素,但UA需要兼容plaintext元素。
既然HTML5已区分对UA和对开发者的要求,再也不需将一些特性标记为deprecated(不赞成使用)了。
HTML5定义了HTML5语法,日前已广泛兼容于网络上HTML4和XHTML1的文档,但不兼容大部分HTML4中的深奥SGML特性,大部分UA都不支持它们,比如处理指令 (processing instructions) 和标签简写 (shorthand markup)。
HTML5语法中同时定义了解析规则——包括异常的处理方式。这种解析规则能够广泛支持HTML4领域的实现,UA可以使用这些规则来解析媒体类型为text/html的资源。
下面是一个能够说明HTML语法的示例文档:
&!doctype html&
&meta charset="UTF-8"&
&title&Example document&/title&
&p&Example paragraph&/p&
另外一个可以被用于HTML的语法是XML。XML语法可兼容于XHTML文档或实现。使用XML语法的文档需要配套XML文档的媒体类型如application/xhtml+xml或application/xml来使用,同时,元素需要遵循XML规则,被放到http://www.w3.org/1999/xhtml命名空间中:
&?xml version="1.0" encoding="UTF-8"?&
&html xmlns="http://www.w3.org/1999/xhtml"&
&title&Example document&/title&
&p&Example paragraph&/p&
2.1 符号编码
HTML标准中要求开发声明编码方式,有这些方式可以做到:
传输层,可以用HTTP头部的Content-Type
在文档头部放置对应使用的编码的BOM
使用有charset的meta元素
比如&meta charset="UTF-8"&可以用于声明UTF-8编码。这个新声明替代了&meta http-equiv="Content-Type" content="text/ charset=UTF-8"&,尽管后者依然可以使用。
XML语法中,开发需要按照XML标准来设置编码。
2.2 Doctype
HTML5语法要求声明Doctype,以确保浏览器以标准模式渲染页面。Doctype没有其他用途。
HTML5语法中的Doctype声明为&!DOCTYPE html&,不区分大小写。
之前HTML4标准中的Doctype更长,因为HTML4语法是基于SGML的,需要引用DTD。而在新的HTML5标准中,再也不需要引用DTD了(译注:因为HTML5不再基于SGML)。因此,doctype只是为了确保文档以标准模式渲染。
为了支持旧有的标签,可以使用&!DOCTYPE html SYSTEM "about:legacy-compat"&作为Doctype声明。
HTML4.0、HTML 4.01、XHTML 1.0、XHTML 1.1之类严格的Doctype,在HTML5中可以使用,但不被提倡。
在XML语法中,可以使用任何Doctype声明或省略Doctype。使用XML媒体类型的文档永远会在标准模式中被解析。
2.3 MathML和SVG
HTML语法允许文档内嵌MathML和SVG元素。
math和svg的开始标签将会导致HTML解析器转为特殊的插入模式,以将元素和属性放入合适的命名空间,并转化大小写,并支持XML中的空元素语法
HTML中的math/svg的相关元素及其属性依然是区分大小写的
可以省略namespace(译注:如svg的namespace可以省略xmlns="http://www.w3.org/2000/svg")
在这个特殊的插入模式里,可以使用CDATA语法
一些MathML和SVG元素可能导致解析器转回HTML解析模式,比如mtext和foreignObject,在这些元素内部你可以使用HTML元素或者新的math/svg元素。
一个使用了svg功能的例子如下:
&!doctype html&
&title&SVG in text/html&/title&
A green circle:
&svg& &circle r="50" cx="50" cy="50" fill="green"/& &/svg&
2.4 其它方面
字符实体&和&分别代表U+27E8和U+27E9(数学意义上的左右尖括号?、?),而非U+2329和U+232A(尖括号的旧有表示方法?、 ?)。(译注,见)
一些新的字符实体被加入,包括在MathML中定义的全部字符实体
空元素(如br)允许有一个结尾反斜杠(trailing slash)
相较于HTML4,HTML5中的&在更多场景下不转义
属性需要起码一个空格字符来区隔开
有空值的属性等价于属性与值完全相同的情形(译注:比如&input autofocus&就相当于&input autofocus="autofocus"&),即使这个属性并非boolean属性
相较于HTML4,HTML5中省略了引号的属性值允许使用更大范围的字符集
HTML解析器不再对属性值中间出现的空格进行标准化,比如&input id="
"&中的id不再有效,同时&input value=""&中的value中的空行字符可以被使用,而不需要使用实体来替代
optgroup结束标签可选填
colgroup开始标签可选填,HTML解析器会根据上下文补完
3.1 新标签
以下标签的引入是为了用于更好的文档结构:
section代表一般意义上的文档/app区块,它应当与h1~h6等元素搭配使用,以标示文档层级
article代表了独立于文档的一块内容,比如blog入口或报刊文章
main代表了文档/app的主体内容
aside代表了一些与页面其它部分关联性不那么大的内容
header代表了一组介绍性或导航性质的辅助内容
footer代表了一个区块的底部,可以包含作者、版权等信息
nav代表了文档中可以导航的区块
figure代表了代表了一个独立的内容流figcaption可以用作内容流的标题
template可以用于声明一块可用于克隆与插入的HTML片段
(译注:这替代了我们常见的方案textarea、script type="text/html"、script type="text/template")
其它的新标签:
audio和video代表了多媒体元素,它们也提供了相应的API用于开发者定制UI,同时也提供了触发UA展示其默认控件的方式。source元素跟他们一同使用,用于有多类型的内容流的情形track提供了audio的文本轨道(译注:包含字幕等)
embed用于插件内容
mark代表了一个文档中需要标记或高亮的引用部分
progress代表了一个任务的完成程度
meter代表了一个度量,比如对磁盘空间的度量
time代表了时间/日期
ruby、rt、rp为ruby表达式
bdi代表了一段隔绝于周围元素的双向书写文本格式
wbr代表了可能断行的部分
canvas用于渲染动态位图
datalist与input的list属性共同使用,可以用于创建下拉选择框控件
&input list="browsers"&
&datalist id="browsers"&
&option value="Safari"&
&option value="Internet Explorer"&
&option value="Opera"&
&option value="Firefox"&
&/datalist&
keygen代表生成的密钥对
output代表了一种输出内容
3.2 新属性
表单元素:
input的type属性有了更多新值:tel、search、url、email、date、time、number、range、color
form属性可用于在input、output、select、textarea、button、label、object、fieldset元素上指定关联的&form&元素的id,不局限于常规的层叠关系
&th&Action
&td&&form id=a&&input name=a-key&&/form&
&td&&input form=a name=a-value&
&td&&button form=a name=a-action value=save&?&/button&
&button form=a name=a-action value=delete&?&/button&
input、textarea元素可使用placeholder属性来帮助用户填写数据,注意,它不应当替代label元素的作用
非type="hidden"的input、select、textarea、button可使用autofocus元素来制定自动获得焦点的元素
input、select、textarea有新属性required,代表了用户需要填写该字段,才可以提交这个表单。select的第一个元素应当为没有值的元素,以作为空值的占位符
&label&Color: &select name=color required&
&option value=""&Choose one
&option&Red
&option&Green
&option&Blue
&/select&&/label&
fieldset标签允许使用disabled属性,这将禁止所有子元素的交互;它同时还可以使用name以方便脚本获取
input元素有了用于指明输入限制的属性autocomplete, min,max, multiple, pattern及step
input type="image"的元素有width和height属性
input与textarea元素有了dirname以指明书写方向(译注:ltr或rtl)
textarea元素有了新的属性,如maxlength、minlength、wrap来控制最大输入长度与提交时的断行行为
form元素有了novalidate属性来禁止默认的表单验证行为
input与button元素有了formaction, formenctype, formmethod, formnovalidate与formtarget属性,用于覆盖继承自form的action, enctype, method, novalidate及target属性
input元素有了minlength和maxlength属性
非表单元素的新属性:
area元素同a和link元素一样有了新的hreflang、type、rel属性
base元素同a一样可以有target属性
meta元素有了charset属性
script元素有了async属性将影响脚本的加载与运行
html元素有manifest属性,可用于指定缓存行为
link元素有了新的属性sizes,可以指定不同的大小的favicon
ol元素有了新的属性reversed,它代表着列表的顺序是逆序的
iframe元素有了sandbox和srcdoc属性以支持沙盒安全保护
object元素有了typemustmatch元素以保证更安全的嵌入顺序
img元素有crossorigin属性以在canvas中支持CORS
HTML4中有一些全部标签都可以使用的属性,在HTML5中叫做全局属性,如:accesskey , class, dir, id, lang, style, tabindex 及title。此外,XHTML 1.0仅允许一些标签上的xml:space属性设置。
有这些新的全局属性:
contenteditable
data-*代表了开发定制的属性,这种格式可以避免与将来的新HTML属性冲突
hidden属性代表一个元素不再与文档相关
role及aria-*用于支持无障碍访问
spellcheck用于指定内容是否允许进行拼写检查
translate用于指定内容是否应当翻译
3.3 修改的标签
b元素现在表示一段加强表示的文本,但并不表达额外的重要性、暗示需要加重的语气和声调(译注:与em的语义区分开来)。比如文档摘要里的关键字、产品评价里的产品名字、可以与之交互的文本等等
i元素现在代表了一段需要使用不同的语气或声调的文本,或代表了不同品类的文本,如分类学名称、科技术语、其他语言中的方言或俚语等等
s元素代表了不再准确/相关的元素
small元素代表了旁注,如免责声明、注意事项、法律限制或版权声明
strong元素代表了重要性,而非着重强调
u元素 represents a span of text with an unarticulated, though explicitly rendered, non-textual annotation, such as labeling the text as being a proper name in Chinese text (a Chinese proper name mark), or labeling the text as being misspelt.(译注:没理解这个元素的语义)
address元素的范围现已由最近的祖先article/body元素决定,代表了后者的联系信息
script标签可以被用于自定义数据块
blockquote元素依然表示从另外一个来源里摘录的内容,但现在允许包含footer或cite元素
dl元素现在代表了有关联的命名-值的列表,但不再适用于对话了
hr元素代表了段与段之间的主题意义上的区隔(译注:即暗示段落主题已经发生了变化)
noscript元素 represents nothing if scripting is enabled, and represents its children if scripting is disabled. It is used to present different markup to user agents that support scripting and those that don't support scripting, by affecting how the document is parsed.(译注:没看出来前后有什么区别)
3.4. 修改的属性
(译注:大部分是限制放宽,略)
3.5. 废弃的元素
开发不应当使用这些废弃的元素了,但是UA仍应当支持他们。
这些元素被废弃,因为他们仅仅是用于展现层面的标签,他们用CSS处理更好:basefont、big、center、font、strike、tt。
这些元素被废弃,因为他们有损可访问性与可用性:frame、frameset、noframes
这些元素被废弃,因为他们罕有人使用、有其他元素替代或造成了迷惑:
在表示省略语的时候,acronym被abbr取代
applet被object取代
isindex元素被表单元素取代
dir被ul取代
最后,noscript仅仅可以在HTML语法中被使用,它不被XML语法允许。
因为需要在视觉上隐藏它内部的内容,同时不允许noscript内部内容有运行脚本、应用样式、拥有可以提交的表单、加载资源等行为,所以noscript内部的内容将被当作纯文本解析。
3.6. 废弃的属性
这些属性被废弃,你可以在找到你能够用以替代的属性或标签。
a废弃属性:shape, coords, rev, charset
area废弃属性:nohref
form废弃属性:accept
head废弃属性:profile
html废弃属性:version
iframe废弃属性:longdesc
img废弃属性:name
input废弃属性:usemap
link废弃属性:target, rev, charset
meta废弃属性:scheme
object废弃属性:archive, classid, codebase, codetype, declare, standby
param废弃属性:valuetype, type
table废弃属性:summary
td废弃属性:axis, abbr, scope
th废弃属性:axis
此外,HTML不再包含纯用于表现的属性,它们应当被CSS替代:
caption, iframe, img, input, object, legend, table, hr, div, h1, h2, h3, h4, h5, h6, p, col, colgroup, tbody, td, tfoot, th, thead和tr的align属性被废弃
body的alink, link, text, background属性被废弃
table, tr, td, th和body的bgcolor属性被废弃
object的border属性被废弃
table的cellpadding和cellspacing属性被废弃
col, colgroup, tbody, td, tfoot, th, thead和tr的char和charoff属性被废弃
br的clear属性被废弃
dl, ol和ul的compact属性被废弃
table的frame属性被废弃
iframe的frameborder属性被废弃
td和th的height属性被废弃
img和object的hspace和vspace属性被废弃
iframe的marginheight和marginwidth属性被废弃
hr的noshade属性被废弃
td和th的nowrap属性被废弃
table的rules属性被废弃
iframe的scrolling属性被废弃
hr的size属性被废弃
li,和ul的type属性被废弃
col, colgroup, tbody, td, tfoot, th, thead和tr的valign属性被废弃
hr, table, td, th, col, colgroup和pre的width属性被废弃
下列属性允许使用,但不鼓励被使用:
img元素上的border属性。如果使用,要求使用0作为值。应当替代为CSS控制
script元素上的language属性。如果使用,要求使用JavaScript(不区分大小写),同时不应当与type属性冲突。由于它没有实际意义,开发应当省略它
a的name属性。开发应当使用id来替代它
4. 内容模型
内容模型即元素的嵌套规则。
内容模型层面,HTML4有这些混乱的规则:
有两个大类"inline"和"block-level"元素,有一些元素不属于任何一个类别
有一些元素允许嵌套inline元素(如p);
有些允许嵌套block-level元素(如body);
有些都允许(如div);
然而一些元素不根据类别、而仅仅允许嵌套特定元素(如table dl);
或完全不允许嵌套元素
一个元素可能在一个类别中,而内容模型却在另外一个类别中。
比如p属于block-level,但内容模型为inline。
更加让人混淆的是,针对HTML4的不一样的DTD声明——Strict、Transitional或Frameset——有不一样的内容模型。
比如Strict下body元素仅仅允许嵌套block-level元素,但在Transitional下,body元素两种元素都允许嵌套
CSS的视觉格式化模型中也存在"block-level element"和"inline-level element"的区分,它跟CSS中的display属性相关,同时没有跟HTML的内容模型有任何关联
HTML5的内容模型不再使用"inline"和"block-level"的方式区分元素,为避免与CSS类似概念的混淆。然而,比起HTML4,它增加了更多类别,一个元素可以属于任意个数的类别。
HTML5中划分出来的类别如下:
Metadata,如link、script
Flow,如span、div、文本节点。它接近于HTML4层面的block-level和inline的混合
Sectioning,如aside、section
Heading,如h1
Phrasing,如span、img、文本节点。它接近于HTML4的inline概念
Embedded,如img、iframe、svg
Interactive,如a、button、label
与HTML4有很大不一样的一点是,HTML5中不再出现仅仅允许嵌套"block-level"的类别了(译注:因为HTML5已经不存在"block-level"类别的标签了)。
比如,body允许Flow类别的内容。这个规则比起HTML4 Strict,它更接近HTML4 Transitional。
更多变化包括:
address元素允许嵌套Flow类别的标签,但不允许嵌套Heading、Section类别的元素,不允许嵌套header、footer、另一个address
HTML4允许object出现在head内部,但HTML5不允许
noscript元素由block-level类别转为Phrasing类别
table, thead, tbody, tfoot, tr, ol, ul及dl元素允许为空
表格元素需要遵从。比如两个单元格不允许交叠
table元素允许tfoot元素作为它的最后一个子元素
caption元素允许嵌套Flow类别的元素,但不允许嵌套table元素
th元素允许嵌套Flow类别的元素,但不允许嵌套header元素、footer元素、Sectioning类别或Heading类别的元素
a的内容模型为transparent,它与它的父级拥有同样的内容模型,这意味着在a的父级允许Flow类别的子元素的时候,a可以嵌套div元素。
此外,它不允许嵌套Interactive类别的元素
ins和del元素的内容模型为transparent。
HTML4有类似的规则,但无法在DTD中表达出
在object元素的param子元素以后,内容模型为transparent
(译注:这个规则应该是为了覆盖object内嵌套embed的场景)
map元素的内容模型为transparent
当有一个map作为祖先节点的时候,area元素被当作Phrasing类别的元素,同时area不再需要成为map的直接子节点
legend元素不再是fieldset必须的子节点了
HTML5引进、修改、扩展、废弃了很多API。
5.1 新增接口
HTML5为了帮助创建Web App,引入了一些新的接口:
媒体标签video和audio的播放流程控制、同步多个媒体标签、字幕等接口
表单限制验证接口
(如setCustomValidity)
引入应用缓存机制,允许Web App离线的API
允许Web App注册为对应协议或媒体类型的处理应用的APP的API。
(即registerProtocolHandler和registerContentHandler)
引入contenteditable属性,允许编辑任意元素的接口
暴露会话历史、允许使用脚本无刷新更新页面URL
(History接口)
base64转换API
(atob()及btoa())
处理搜索服务提供方的接口
(AddSearchProvider()及IsSearchProviderInstalled())
External接口
打印文档的接口
(print())
(译注:下列接口是很早就有,属于BOM中的共识部分,直到HTML5才加入标准)
暴露文档URL、允许使用脚本切换、刷新页面的接口
(Location接口)
基于时间的回调接口
(setTimeout()及setInterval())
提供给用户的提示接口
(alert(),confirm(),prompt())
Window接口
Navigator接口
5.2 修改的接口
如下DOM 2的接口已被改动:
document.title的返回值将会折叠多个空格符
document.domain允许赋值,因此可以改变文档的script origin
document.open()可以清空文档(如果调用时仅有两个或以下参数),或像是window.open()一样表现(如果调用时有三个或四个参数)。在前种调用方式下,抛出一个XML异常
document.close()、document.write()、document.writeln()抛出一个XML异常。后两者允许可变参数,他们可以在文档解析阶段往文档流中加入文本,并隐式调用document.open()。在一些情形下,他们都可能会被忽略
document.getElementsByName()将返回满足name符合参数的所有HTML元素
HTMLFormElement的elements接口将返回HTMLFormControlsCollection,包括button, fieldset, input, keygen, object, output, select及textarea
HTMLSelectElement的add()接口允许第二个参数为数字
HTMLSelectElement的remove()接口在参数越界的时候,将删除集合中第一个元素
在所有的HTML元素中都可以调用click()、focus()及blur()接口了
a及areastringify为它们的href属性
(译注:意味着HTMLAnchorElement和HTMLAreaElement对应的toString方法返回它们的href属性)
5.3 Document扩展
DOM Level 2中有个HTMLDocument接口,继承自Document接口,并提供了文档内部的元素(仅局限于HTML范畴内)访问接口。
HTML5将这些成员移动到了Document接口中,并在特定方向上拓展了它。由于各类文档(译注:XML、HTML5、SVG等等文档)都使用了Document接口,而HTML5范畴内的元素在所有类别的文档中都可用,因此这些接口在SVG等文档中都可以很好的运作。
此外,Document接口还有一些新成员:
location、lastModified及readyState:用于帮助管理文档的元数据(metadata)
dir、head、embeds、plugins、scripts:用于获取DOM树的不同部分
activeElement及hasFocus接口,用于判断一个元素是否获得了焦点
文档编辑接口:designMode、execCommand()、queryCommandEnabled()、queryCommandIndeterm()、queryCommandState()、queryCommandSupported()、queryCommandValue()
所有的IDL事件处理属性。此外,onreadystatechange是唯一一个在Document上才有效的接口
在脚本中修改了HTMLDocument原型的那部分还是可以正常运转的,由于window.HTMLDocument也将返回Document接口。
5.4 HTMLElement扩展
HTMLElement接口也在HTML5中得到了扩展:
用于得到data-*的属性的接口dataset
click()、focus()、blur()接口允许脚本模拟用户点击与切换焦点
accessKeyLabel给予UA赋予该元素的快捷键,开发可以通过accesskey属性来影响UA的该行为
isContentEditable返回元素是否可以编辑
全部的IDL事件处理属性
得到元素属性的接口如translate、hidden、tabIndex、accessKey、contentEditable、spellcheck、style
(译注:DOM Level 2仅建议采用Element接口上的setAttribute和getAttribute来获取或设置HTML Attribute,HTML5的这些定义扩展了HTML Attribute的范围,让它们可以像DOM Property一样set和get——UA早已广泛支持)
有些之前在HTMLElement上定义接口被移动到了Element接口中:id、className、classList、getElementsByClassName()
(译注:扩展了定义,可以直接set/get id等属性值了——UA早已广泛支持)
5.5 其它接口扩展
DOM Level 2中的其它接口也得到了扩展。
HTMLOptionsCollection
legacy caller、setter creator、add()、remove()、selectedIndex
HTMLFormElement
通过name或index索引的getter、checkValidity()
HTMLSelectElement
getter、setter creator、item()、namedItem()、labels、selectedOptions及各种validate接口函数
HTMLOptionElement
构造器new Option()
HTMLInputElement
files、height、indeterminate、list、valueAsDate、valueAsNumber、width、stepUp()、stepDown()、labels、文本选取区域API及各种validate接口函数
HTMLTextAreaElement
textLength、labels、文本选取区域API及各种validate接口函数
HTMLButtonElement
labels及各种validate接口函数
HTMLLabelElement
HTMLFieldSetElement
type、elements及各种validate接口函数
HTMLAnchorElement
relList、text
HTMLLinkElement
HTMLAreaElement
HTMLImageElement
构造器new Image()、naturalWidth、naturalHeight、complete
HTMLObjectElement
contentWindow、legacy caller及各种validate接口函数
HTMLMapElement
HTMLTableElement
createTBody()
HTMLIFrameElement
contentWindow
HTMLLinkElement和HTMLStyleElement实现了CSSOM中的LinkStyle接口
HTMLAnchorElement、HTMLLinkElement和HTMLAreaElement实现了URLUtils接口
5.6 废弃接口
在HTML5中已被废弃的属性,其对应IDL属性接口也将被废弃。如bgColor已被废弃,那么HTMLBodyElement之上的IDL属性接口bgcolor也被废弃
在HTML5中已被废弃的元素,其对应接口也被废弃,包括HTMLAppletElement, HTMLFrameSetElement, HTMLFrameElement, HTMLDirectoryElement及HTMLFontElement、HTMLBaseFontElement
由于HTML解析器将isindex替代为其他元素了,HTMLIsIndexElement接口被废弃
一些成员属性从HTMLDocument接口移动到了Document接口,因此在原来的HTMLDocument下被废弃:anchors和applets。
15 收藏&&|&&99
翻译这么多真不容易。
翻译这么多真不容易。
非常感谢博主的翻译!译文是否介意我们整理发布到 W3C HTML5 中文兴趣组 () 呢?希望可以争得博主的同意:)
非常感谢博主的翻译!译文是否介意我们整理发布到 W3C HTML5 中文兴趣组 (https://github.com/w3c-html-ig-zh) 呢?希望可以争得博主的同意:)
没问题,我明天润色一遍,翻译完剩下的一节,再发布过去吧~
没问题,我明天润色一遍,翻译完剩下的一节,再发布过去吧~
加入中文兴趣组吧
加入中文兴趣组吧
已经翻译完想要翻译的部分并润色了一遍,可以转载了,又或者我直接加入这个小组?:)
已经翻译完想要翻译的部分并润色了一遍,可以转载了,又或者我直接加入这个小组?:)
赞!给我你的github账号吧
赞!给我你的github账号吧
https://github.com/alvarto
目前我们有一个旧的wiki放之前翻译过的东西,我把这篇译文的链接放在了 HTML5 References 章节:
今后新产生的翻译会逐步转向github
目前我们有一个旧的wiki放之前翻译过的东西,我把这篇译文的链接放在了 HTML5 References 章节:https://www.w3.org/html/ig/zh/wiki/HTML5/references
今后新产生的翻译会逐步转向github
分享到微博?
我要该,理由是:
在 SegmentFault,学习技能、解决问题
每个月,我们帮助 1000 万的开发者解决各种各样的技术问题。并助力他们在技术能力、职业生涯、影响力上获得提升。

我要回帖

更多关于 html的标签 的文章

 

随机推荐