!DOCTYPE的语法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了!DOCTYPE的语法相关的知识,希望对你有一定的参考价值。

参考技术A

注:由于!DOCTYPE(以下简化称为“本标签”)是标准通用标记语言的文档类型声明,所以 “本标签”的附属属性(比如以下提到的“#隐含”及“公共、系统标识符”属性)将为离散的文本块; 当标准通用标记语言有新功能属性时,可以根据实际需求把标准通用标记语言的新功能属性加入“本标签”。 本标签有三种写法:
一、私有的外联文档类型定义(使用系统标识符):
<!DOCTYPE 根元素
SYSTEM 文档类型定义位置
[< !--内部子集声明,可选项目-->]
>
实例具体应用:(根元素是超文本网页) <!DOCTYPE html SYSTEM 文档类型定义/严格.定义>二、公共的外联文档类型定义(使用公共标识符):
<!DOCTYPE 根元素
PUBLIC 注册//组织//类型 标签//定义 语言
文档类型定义位置
[< !--内部子集声明,可选项目-->]
>
实例具体应用:(根元素是超文本网页) <!DOCTYPE HTML PUBLIC +//我公司//DTD超文本5//ZH 网络页面文档类型定义/严格.定义>三、内联的文档类型定义:
<!DOCTYPE 根元素
[
文档类型定义里头的内容: 元素/属性/实体/符号 处理指令/批注/引用 ]
>
实例具体应用:(根元素是“百度百科_行标签”) <!DOCTYPE 百度百科_行标签[ <!ELEMENT 多行 (排*) <!ELEMENT 排 O - (#PCDATA) -- 已解析的字符数据 --> <!ENTITY 百度百科_行标签 </排>> <!SHORTREF 壹行 &#引;&#短; 百度百科_行标签 -- !短参考 --> <!USEMAP 壹行 排>]> 格式:
前缀//所有者//类型 标签描述//语言//显示版本
前缀: 前缀 定义 ISO 是国际标准化组织的标准 + 组织名称已注册 - 组织名称未注册
注:注册指组织是否由国际标准化组织注册。 (各人也可以手动将文档类型定义注册自服务器)
组织(所有者):公司、单位、组织的名称。
类型:表明该公共标识符所关联的文档的实际类型(比如超文本标记语言)。
标签描述:所关联的文档的简要说明。该描述可以是任何字符串,当然其中不应包含作为分隔符的“//”。(比如超文本5)。
语言:说明文档基于何种语言书写,通常使用国际标准化组织标准的两字母语言代码。
显示版本:该项目使用较少,用于说明文档是针对特定显示设备或者特定系统的。 超文本标记语言三点零:
<!DOCTYPE HTML
PUBLIC -//IETF//DTD HTML//en> 大多数万维网浏览器实际上并没有使用标准通用标记语言解析器,其中许多基于对文档的!DOCTYPE声明,显示有所不同的文件或缺乏。
类型 指定公开文本类,即所引用的对象类型。
标签 指定公开文本描述,即对所引用的公开文本的唯一描述性名称。后面可附带版本号。 HTML 默认。HTML。
定义 指定文档类型定义。框架集(外语:Frameset)文档。
严格(外语:Strict) 排除所有 W3C 专家希望逐步淘汰的代表性属性和元素,因为样式表已经很完善了。
过渡(外语:Transitional) 包含除框架集(frameSet) 元素的全部内容。
语言 指定公开文本语言,即用于创建所引用对象的自然语言编码系统。该语言定义已编写为 ISO 639 语言代码(大写两个字母)。
URL(资源定位器)指定所引用对象的位置。
注释
此声明必须出现在文档的起始处,出现在 html 标签之前。
功能简介:
你可使用此声明在 Internet Explorer 6 及以后版本中切换为严格的标准兼容模式。若想打开此开关,请在你的文档顶部包含 !DOCTYPE 声明,在声明中指定合法的标签,在某些情况下,还需要指定定义和/或统一资源定位。下面的表格列出了标准兼容模式的开关情况。
DOCTYPE 出现统一资源定位 未出现 统一资源定位 未出现
DOCTYPE 关 关
HTML (无版本) 关 关
HTML 2.0 关 关
HTML 3.0 关 关
HTML 4.0 开 开
HTML 4.0 Frameset 开 关
HTML 4.0 Transitional 开 关
HTML 4.0 Strict 开 开
XHTML 开 开
XML 开 开
无法识别的 DOCTYPE 开 开
注意 在标准兼容模式下,不能保证与其它版本的 Internet Explorer 保持兼容。当打开标准兼容模式时,文档的渲染行为也许与将来版本的 Internet Explorer 不同。若内容本来就是固定的(如刻录在激光唱片上),则不应该使用此模式。
示例:
下面的例子演示了如何使用 !DOCTYPE 声明指定文档遵从的文档类型定义,并将 Internet Explorer 6 及更高版本切换到标准兼容模式。
下面例子中的声明都指定了遵从超文本4.0 文档类型定义。第二种声明指定了“Strict”。第一种声明没有指定。这两种声明都将会把 Internet Explorer 6 及以后版本切换到标准兼容模式。
<!DOCTYPE HTML
PUBLIC -//W3C//DTD HTML 4.0//en>
<!DOCTYPE HTML
PUBLIC -//W3C//DTD HTML 4.0 Strict//en>
下面例子中的声明都指定了遵从“Transitional”HTML 4.0 文档类型定义。第二种声明指定了文档类型定义的统一资源定位。第一种声明没有指定。第二种声明将会把Internet Explorer 6 及以后版本切换到标准兼容模式。第一种声明不会。
<!DOCTYPE HTML
PUBLIC -//W3C//DTD HTML 4.0 Transitional//en>
<!DOCTYPE HTML
PUBLIC -//W3C//DTD HTML 4.0 Transitional//en
http://www . w3 . org/TR/html4/loose.dtd>
标准信息
此对象定义在 HTML 3.2 中。 数学标记语言: 下面例子中的声明都指定了遵从“MathML”数学标记语言2.0 文档类型定义。第二种将设置MATHML命名空间的前缀到MML。第三种附加了检查文档类型定义(DTD)
<!DOCTYPE math
PUBLIC -//W3C//DTD MathML 2.0//en
http://www.w3 .org/Math/DTD/mathml2/mathml2.dtd>
<!DOCTYPE mml:math
PUBLIC -//W3C//DTD MathML 2.0//en
http://www.w3 .org/Math/DTD/mathml2/mathml2.dtd
[
<!ENTITY % MATHML.prefixed INCLUDE --设置“包含”某些部分的参数实体-->
<!ENTITY % MATHML.prefix mml>
]
>
<!DOCTYPE math
PUBLIC -//W3C//DTD MathML 2.0//en
http://www.w3 .org/Math/DTD/mathml2/mathml2.dtd
[
<!ENTITY % MathMLstrict INCLUDE --设置“包含”某些部分的参数实体-->
]
> <!DOCTYPE NITF
PUBLIC -//IPTC-NAA//DTD NITF 2.0//en > 公共标识符称为:-//LISA OSCAR:1998//DTD for Translation Memory eXchange//en
<!DOCTYPE tmx
PUBLIC -//LISA OSCAR:1998//DTD for Translation Memory eXchange//en

> <!DOCTYPE iCalendar
PUBLIC -//IETF//DTD iCalendar//en
> <!DOCTYPE wml
PUBLIC -//WAPFORUM//DTD WML 1.1//en

> 三点零版本:
<!DOCTYPE score-partwise
PUBLIC -//Recordare//DTD MusicXML 3.0 Partwise//en

>

JavaScript语法详解

一、JavaScript循环语句

    1.for循环、for/in

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <script>
        var array = [1,2,3,4,5,6];
        for(var i=0; i<6; i++){
            document.write(array[i]+" ");
        }
    </script>

</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <script>
        var array = [1,2,3,4,5,6];
        var i;
        for(i in array){
            document.write(array[i]+"<br/>");
        }
    </script>

</body>
</html>

    

    2.while循环、do...while

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <script>
        var i = 1;
        while(i<10){
            document.write("i="+i+"<br/>")
            i++;
        }
    </script>

</body>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <script>
        var i = 10;
        do {
            document.write("i="+i+"<br/>")
            i++;
        }while(i<10)
    </script>

</body>
</html>

    

以上是关于!DOCTYPE的语法的主要内容,如果未能解决你的问题,请参考以下文章

Fedora CentOS Red Hat中让vim支持语法高亮设置

<!DOCTYPE html>报错Uncaught SyntaxError: Unexpected token '<?

关于Doctype与浏览器呈现模式

使用 Red Carpet 和 Rogue 的语法高亮在 Rails 5 应用程序中不起作用

Doctype的作用?严格模式和混杂模式的区分,以及如何触发着2中模式?

渲染机制