html文件是标准的ASCII文件,它看起来象是加入了许多被称为链接签(tag)的特殊字符串的普遍文本文件。从结构上讲,html文件由元素(element)组成,组成html文件的元素有许多种,用于组织文件的内容和指导文件的输出格式。绝大多数元素是“容器”, 即它有起始标记和结尾标记。元素的起始标记叫做起始链接签(start tag),元素结束标记叫做结尾链接签(end tag),在起始链接签和结尾链接签中向的部分是元素体。 每一个元素都有名称和可选择的属性,元素的名称和属性都在起始链接签内标明。
比如体元素(body)
<body backgroud="back-ground.gif">
<h2> demo </h2>
This is my first html file. <p>
</body>
第一行是体元素的起始链接签,它标明体元素从此开始。因为所有的链接签都具有相同的结构,所以我们将仔细分析这个链接签的各个部分,以便读者对链接签的写法有一大概了解。
< 起始链接签开始body 元素名称,由于元素和链接签一一对应,所以元素名也叫链接签名。需要注意的是<和body之间不能有空格。元素名称不分大小写。background属性名。一个元素可以有多个属性,属性及其属性值不分大小写。本属性指明用什么方法来填充背景。
=指明属性值
“background.gif”属性值,表示用background.gif文件来填充背景。
属性名,=,属性值合起来构成一个完整的属性,一个元素可以有多个属性,各个属性用空格分开。
> 起始链接链结束。
第二行和第三行是body元素的元素体,最后一行是body元素的结尾链接签。结尾链接签用</开始,随后是元素名,然后是大于号>。
从上面的例子中,我们可以看出,一个元素的元素体中可以有另外的元素。(上例中第二行的标题元素<h2>…</h2>和第三行的分段元素<p>。实际上,html文件仅由一个html元素组成, 即文件以<html>开始,以</html>结尾,文件其部分都是 html的元素体。html元素的元素体由
两大部分,即头元素<head>..</head>和体元素<body>…</body>和一些注释组成。头元素和体元素的元素体又由其它的元素和文本及注释组成。也就是说,一个html文件应具有下面的结构:
<html> html文件开始
<head> 文件头开始
文件头
</head> 文件头结束
<body> 文件体开始
文件体
</body> 文件体结束
</html> html文件结束
需要说明的是,html是一门发展很快的语言,早期的html文件并没有如此严格的结构,因而现在流行的浏览器(如Netscape,Mosaic等)为保持对早期html文件的兼容性,也支持不按上述结构编写的html文件。还需要说明的是,各种浏览器对html元素及其属性的解释也不完全一样,本
书中所讲的元素,元素的属性及其输出是以Netscape2.0 浏览器为准的,作者将尽量给出别的浏览器对某一元素的解释。
一般来讲,html的元素有下列三种表示方法:
1)<元素名>文件或超文本</元素名>
2)<元素名 属性名=“属性值…>文本成超文本</元素名>
3)<元素名>
第三种写法仅用于一些特殊的元素,比如分段元素P,它仅仅通知www浏览器在此处分段,因而不需要界定作用范围,所以它没有结尾链接签。htlm3.0标准中,也定义了</p> 链接签,它用于需要界定作用范围的段落,比如增加对齐方式属性的段落。
html文件中,有些元素只能出现在头元素中,绝大多数元素只能出现在体元素中。在头元素中的元素表示的是该html文件的一般信息,比如文件名称,是否可检索等等。这些元素书写的次序是无关紧要的,它只表明该html有还是没有该属性。与此相反,出现在体元素中的元素是次序敏感的,改变元素在html文件中的次序会改变该html文件的输出形式。
HTML语言的结构
时间: 2024-10-01 13:03:19
HTML语言的结构的相关文章
c语言,对结构体中的整型数组进行赋值.....
问题描述 c语言,对结构体中的整型数组进行赋值..... c语言中,在结构体里声明整型数组,想对整型数组赋值,只能用循环吗?如果我想这样呢..... typedef struct Data { int arr[10]; }Data; int main() { Data data; data = (Data)malloc(sizeof(Data)); data->arr[10]={1,3,2,4,5,6,7,8,9,0}; . ... ... ... } 这样可以吗? 解决方案 绝对不可以.数组作
struct-C语言中结构体中的数组,不能直接赋值吗
问题描述 C语言中结构体中的数组,不能直接赋值吗 设有定义:struct{char mark[12];intnum1;double num2;}t1,t2;若变量均已正确赋初值,则以下语句中错误的是(C) (A) t1=t2; (B) t2.num1=t1.num1; (C) t2.mark=t1.mark;//mark为结构体中的数组,不能直接赋值?? (D) t2.num2=t1.num2; ?====如题参考答案说为结构体中的数组,不能直接赋值,为什么呢?那应该怎么赋值呢?求大侠指教 解决
c程序设计-C语言截结构体指针中的变量又是另一个结构体指针,怎么用,代码运行不了
问题描述 C语言截结构体指针中的变量又是另一个结构体指针,怎么用,代码运行不了 #include #include #include #include #define LIST_INIT_SIZE 100//线性表存储空间的初始分配量 #define LISTINCREMENT 10//线性表存储空间的分配增量 typedef struct { int No; char name[10]; }Student; typedef struct { Student *elem;//存储空间基址 int
C语言的结构体和C++结构体的区别
关于C++中声明结构体中需要使用构造器创建实例对象的语法: <C++的结构体构造方法的基本概念:结构体的构造方法需要和结构体的名字相同,并且无返回值,也不要void关键字,这样的方法就是构造器的初始化方法> 接着下面两个代码截图(一个是C源码,一个是C++源码)对比你就初步体会到C语言的结构体和C++结构体的区别了: 对于右边的C++结构体的使用类似Java,C++,Swift中的类,类中有构造器方法,然后构造器创建这个类的实例对象. 当然Swift中也有一样用法的结构体.毕竟S
c语言-一道C语言用结构体排序的题目 大神快来帮我理解下人家的代码~~~
问题描述 一道C语言用结构体排序的题目 大神快来帮我理解下人家的代码~~~ 描述 小王是公司的仓库管理员,一天,他接到了这样一个任务:从仓库中找出一根钢管.这听起来不算什么,但是这根钢管的要求可真是让他犯难了,要求如下: 1. 这根钢管一定要是仓库中最长的: 2. 这根钢管一定要是最长的钢管中最细的: 3. 这根钢管一定要是符合前两条的钢管中编码最大的(每根钢管都有一个互不相同的编码,越大表示生产日期越近). 相关的资料到是有,可是,手工从几百份钢管材料中选出符合要求的那根-- 要不,还是请你编
struct-C语言typedef结构体问题
问题描述 C语言typedef结构体问题 typedef struct{ uint bits; /* length in bits of modulus / uchar modulus[MAX_RSA_MODULUS_LEN]; / modulus / uchar exponent[4]; / public exponent */} R_RSA_PUBLIC_KEY;初始化这个结构体const R_RSA_PUBLIC_KEY mtPosPPublicKey ={xcfxccxf7xb4xdax
C++ 语言关于结构体的排序的功能
问题描述 C++ 语言关于结构体的排序的功能 结构体由多个字段构成,要求按照先后次序对字段排序,用C++语言实现,怎么才能简单高效可靠 解决方案 参考:http://blog.csdn.net/lethic/article/details/7781203 解决方案二: GO语言为结构体排序c++ 结构体排序结构体优先队列排序 解决方案三: 根据结构体中的某个字段排序?
xcode-c语言关于结构体类型的函数的返回值return
问题描述 c语言关于结构体类型的函数的返回值return 定义了一个全局变量的结构体,然后又定义了一个结构体类型的函数,函数的返回值如何返回一个空值,显然return 0;是不行的 解决方案 1)可以用结构体指针,因为指针的null是一个典型的"空",相对于int的0更能体现"空值"的含义,也最方便 2)结构体属于你自己定义的变量,所以你也可以规定当这个结构体里面的变量的值是某种情况是,认为这个结构体类型的变量是"空",比如一般意义上的int认为
struct-C语言关于结构体赋值的问题,请教
问题描述 C语言关于结构体赋值的问题,请教 现在有一内存结构 如下: typedef struct { char classname[128]; char name[32]; unsigned int id; char X[128]; int X_len; }class_t; 现在有很多组数据要向该结构体赋值.但是 X[128] 这个变量是不可见字符 如0x20,0x03,0x04等登构成的. 那么我现在按照 class_t Temp[] = { {"One", "OneNa
struct-c语言关于结构体的问题
问题描述 c语言关于结构体的问题 typedef struct Data { int arr[10]; int* p_low; int* p_high; } Data; int main() { Data* data = NULL; printf("%p ",data->arr); printf("%p ",&(data->arr[1])); printf("%p ",data->p_low); 为什么程序再这里就 cr