转载:深度研习html(一)

题记:这是我首次试水技术性教程,有不到之处,还请指教。

html学习起来很简单,而且要掌握它也不是很困难,但是其中涉及到的一些细节性的东西往往会被我们忽略,而了解这些细节对我们的学习是有极大的裨益的,下面就听我娓娓道来吧。

第一次开讲,先从文档声明讲起:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

对于这个标记,我相信写过网页的同学,一定不会陌生
,没错,它就是一个网页中最开始的部分,我们大多数时候都是复制粘贴这段代码,几乎不会有人去手写,这可能都已经成为一种习惯了,现在就让我们看看它到底是什么。

<!DOCTYPE>的定义:

<!DOCTYPE>声明位于文档中的最前面的位置,处于<html>标签之前。此标签可告知浏览器文档使用哪种HTML或XHTML规范。

该标签可声明三种DTD类型,分别表示严格版本、过渡版本以及基于框架的HTML版本。(假如文档中的标记不遵循doctype声明所指定的DTD,这个文档除了不能通过代码校验之外,还有可能无法在浏览器中正确显示。)

<!DOCTYPE>的用法:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

解析:在上面的声明中,声明了文档的根元素是 html,它在公共标识符被定义为 "-//W3C//DTD XHTML 1.0 Strict//EN" 的
DTD 中进行了定义。浏览器将明白如何寻找匹配此公共标识符的 DTD。如果找不到,浏览器将使用公共标识符后面的 URL 作为寻找 DTD 的位置。

-   :   表示组织名称未注册。Internet
工程任务组(IETF)和万维网协会(W3C)并非注册的 ISO 组织。

+为默认,表示组织名称已注册。

DTD  :   指定公开文本类,即所引用的对象类型。 默认为DTD。

HTML :   指定公开文本描述,即对所引用的公开文本的唯一描述性名称。后面可附带版本号。默认为HTML。

URL  :  指定所引用对象的位置。

Strict:排除所有 W3C 专家希望逐步淘汰的代表性属性和元素。

三种HTML文档类型:

HTML 4.01 规定了三种文档类型:Strict、Transitional 以及 Frameset。

a ) 如果需要干净的标记,免于表现层的混乱,用HTML Strict DTD类型:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
" http://www.w3.org/TR/html4/strict.dtd">

b )Transitional DTD 可包含 W3C 所期望移入样式表的呈现属性和元素.
如果用户使用了不支持层叠样式表(CSS)的浏览器以至于你不得不使用 HTML 的呈现特性时,用     Transitional DTD
类型:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01
Transitional//EN" " http://www.w3.org/TR/html4/loose.dtd">

c ) Frameset DTD 被用于带有框架的文档。除 frameset 元素取代了 body 元素之外,Frameset DTD 等同于
Transitional DTD:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01
Frameset//EN" " http://www.w3.org/TR/html4/frameset.dtd">

三种 XML 文档类型:

XHTML 1.0 规定了三种 XML 文档类型:Strict、Transitional 以及 Frameset。

a ) 如果需要干净的标记,免于表现层的混乱,用XHTML Strict DTD类型:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0
Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

b )Transitional DTD 可包含 W3C 所期望移入样式表的呈现属性和元素.
如果用户使用了不支持层叠样式表(CSS)的浏览器以至于你不得不使用 HTML 的呈现特性时,用     Transitional DTD
类型:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0
Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

c ) Frameset DTD 被用于带有框架的文档。除 frameset 元素取代了 body 元素之外,Frameset DTD 等同于
Transitional DTD:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0
Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">

选择正确的doctype:

为了获得正确的doctype声明,关键就是让dtd与文档所遵循的标准对应。

例如,假定文档遵循的是xhtml 1.0 strict标准,文档的doctype声明就应该引用相应的dtd。

另一方面,如果doctype声明指定的是xhtml
dtd,但文档包含的是旧式风格的html标记,就是不恰当的;类似地,如果doctype声明指定的是html dtd,但文档包含的是

xhtml 1.0 strict标记,同样是不恰当的。

如果没有指定有效的doctype声明,大多数浏览器都会使用一个内建的默认dtd。在这种情况下,
浏览器会用内建的dtd来试着显示你所指定的标记(不过这是页面写得太糟糕的时候的做法)。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

HTML5的DOCTYPE:

HTML 4.01 中的!DOCTYPE需要对 DTD 进行引用,因为 HTML 4.01 基于标准通用标记语言。而HTML
5基于XML(标准通用标记语言的子集),因此不需要对 DTD 进行引用,但是需要!DOCTYPE来规范浏览器的行为(让浏览器按照它们应该的方式来运行)。

本文同步github地址:https://github.com/rongran/wushenggu/

时间: 2024-10-13 08:16:18

转载:深度研习html(一)的相关文章

转载:深度研习html(二)

上一次,我们讨论了文档声明,今天我们来学习html标签. 一个HTML文档中包含的任何内容都是HTML元素,这些元素的根是html. html是HTML文档的最外层元素,所有的其他元素都被包含在该元素内. 浏览器在遇到html根元素时,将它理解为HTML文档. 在用法上,HTML5与HTML4.01中的html根元素没有太大的区别,主要区别就是xmlns属性.该属性在HTML4.01中是必须的,用于对HTML文档进行验证:而在HTML5中该属性可以忽略,或者认为该属性有一个默认值"html://

[转载]Deep Learning(深度学习)学习笔记整理

转载自:http://blog.csdn.net/zouxy09/article/details/8775360 感谢原作者:[email protected] 八.Deep learning训练过程 8.1.传统神经网络的训练方法为什么不能用在深度神经网络 BP算法作为传统训练多层网络的典型算法,实际上对仅含几层网络,该训练方法就已经很不理想.深度结构(涉及多个非线性处理单元层)非凸目标代价函数中普遍存在的局部最小是训练困难的主要来源. BP算法存在的问题: (1)梯度越来越稀疏:从顶层越往下

深度理解链式前向星——转载自ACdreamer

转载自ACdreamer [转载]深度理解链式前向星 我们首先来看一下什么是前向星. 前向星是一种特殊的边集数组,我们把边集数组中的每一条边按照起点从小到大排序,如果起点相同就按照终点从小到大排序, 并记录下以某个点为起点的所有边在数组中的起始位置和存储长度,那么前向星就构造好了. 用len[i]来记录所有以i为起点的边在数组中的存储长度. 用head[i]记录以i为[起点的]边集在数组中的第一个存储位置.            (???↑↑↑??蒟蒻表示这个好像是大佬的小失误,按自己的想法加了

(转载)深度学习三十年创新路

转载自:http://36kr.com/p/533832.html 编者注:深度学习火了,从任何意义上,大家谈论它的热衷程度,都超乎想象.但是,似乎很少有人提出不同的声音,说深度学习的火热,有可能是过度的繁荣,乃至不理性的盲从.而这次,有不同的想法出现了. 本篇文章来自依图科技 CEO Leo的投稿,依图科技是一家专注研究CV(Computer Vison,计算机视觉)的以技术驱动的创业公司,Leo自己也在这一领域有深入研究,因此这次写下这篇文章,希望回顾一下深度学习三十年的创新之路. 近期Na

深度剖析:CDN内容分发网络技术原理--转载

1.前言 Internet的高速发展,给人们的工作和生活带来了极大的便利,对Internet的服务品质和访问速度要求越来越高,虽然带宽不断增加,用户数量也在不断增加,受Web服务器的负荷和传输距离等因数的影响,响应速度慢还是经常抱怨和困扰.解决方案就是在网络传输上利用缓存技术使得Web服务数据流能就近访问,是优化网络数据传输非常有效的技术,从而获得高速的体验和品质保证. 网络缓存技术,其目的就是减少网络中冗余数据的重复传输,使之最小化,将广域传输转为本地或就近访问.互联网上传递的内容,大部分为重

【深度学习系列1】 深度学习在腾讯的平台化和应用实践(转载)

转载:原文链接 [深度学习系列1] 深度学习在腾讯的平台化和应用实践 引言:深度学习是近年机器学习领域的重大突破,有着广泛的应用前景.随着Google公开 Google Brain计划,业界对深度学习的热情高涨.腾讯在深度学习领域持续投入,获得了实际落地的产出.我们准备了四篇文章,阐述深度学习的原理和在腾讯的实 践,介绍腾讯深度学习平台Mariana,本文为第一篇. 深度学习(Deep Learning)是近年来机器学习领域的热点,在语音识别.图像识别等领域均取得了突破性进展.腾讯提供广泛的互联

深度学习的黄金搭档:GPU正重塑计算方式(转载)

转载:原文链接 深度学习的黄金搭档:GPU正重塑计算方式 OFweek电子工程网讯 随着神经网络和深度学习研究的不断深入——尤其是语音识别和自然语言处理.图像与模式识别.文本和数据分析,以及其他复杂领域——研究者们不断在寻找新的更好的方法来延伸和扩展计算能力. 几十年来,这一领域的黄金标准一直是高性能计算(HCP)集群,它解决了大量处理能力的问题,虽然成本有点过高.但这种方法已经帮助推动了多个领域的进步,包括天气预测.金融服务,以及能源勘探. 然而,2012 年,一种新的方法出现了.伊利诺伊大学

[转载] 【冬瓜哥手绘雄文】集群文件系统架构演变终极深度梳理图解

原文:  http://mp.weixin.qq.com/s?__biz=MzAwNzU3NzQ0MA==&mid=209298809&idx=1&sn=70f93b7d71fa7ac9caf3c737fb20a2ad&scene=1&key=c76941211a49ab58a5fed01be2b1651eadbc89e3a9495b276185efdb2282d0fdd5b3aca4129a665495d1b65b77a9a848&ascene=0&

【转载】深度解析Android中字体设置

原文:http://mobile.51cto.com/android-265238.htm 1.在Android XML文件中设置字体 可以采用Android:typeface,例如android:typeface=”monospace”.在这里例子中我们在Activity中对android:text=”Hello, World! 您好”分别进行了四种显示方式,依次为“Sans”,“serif”,“monospace”和系统缺省方式(经试验缺省采用采用sans).英文字体有差异,貌似中文字体没有