ZUI易入门前端 二、HTML

二、HTML

HTML (Hyper Text Mark-up Language)  超文本标记语言,是一种编程语言,也可以说是一种标准、规范。页面不仅可以包含普通文本,还可以包含图片、链接、音乐、程序等非文本内容。

HTML提供了一系列标记(标签),每个标记都有不同的含义和作用,浏览器根据标记的含义把内容显示到浏览器页面上。HTML标准和XML标准很类似:

用<abc></abc>这样的标签形式,也可以是自闭合标签<abc/>;

标签可以有子标签;标签也可以有内部文本;

节点还可以有属性,属性的值要用单引号或者双引号包裹起来;

也是<!--...-->定义注释。

当然HTML的要求比XML弱一些:标签不闭合很多时候一般也没问题;标签大小写不一致也行;属性的值不用引号包裹起来也行;属性的大小写写错了没关系。

也就是HTML的“容错性”更强,但是大家写的时候尽量遵守XML的标准。

(一)页面基本结构

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8" />

<title>现代商贸</title>

</head>

<body>

Hello Html

</body>

</html>

这是Html文件的基本结构。一个Html页面最少要包含这些元素,当然由于Html的容错性很强,不写全也能正常运行。

<html>是整个文件的根节点。

<head>部分定义的是“头部信息”,这部分一般是在网页中看不到的。

<head>中的<meta charset="utf-8" />用于描述网页文件的保存编码的,必须和文件保存的编码一致,一般建议设置为utf-8。

<head>中的<title>是设置网页在浏览器中显示的标题的。

<body>定义的是网页的主体,这部分内容会显示到浏览器界面中。主要html代码都会写到<body>中。

(二)标签的分类

按照是否在新一行显示,标签分为“块元素”和“内联元素”,也就是block和inline。

块元素是占据一行的,而内联元素不是占据一行的。

比如从下面可以看出来h1、h2、div是块元素,而span是“内联元素”。到底哪些元素是“块元素”、哪些是“内联元素”,没必要刻意记忆,知道这么回事即可。而且还可以通过CSS修改标签的“是否占据一行”的行为。

(三)标签的语义化

Html中有一些标签和其他表现外观一样,之所以规定这么多不同的标签主要为了实现“语义化”,也就是这种标签不仅控制元素的外观,更从标签能看出来标签中的数据有什么含义。

比如下面的两段代码都可以实现差不多的效果:

<h1>HelloHtml</h1>

<article>这是我的第一个html代码</article>

<font size="6" style="font-weight: bold;">HelloHtml</font>

<p>这是我的第一个html代码</p>

差别在于,在html规范中,h1代表“大标题”,article代表“文章”,这样一看就知道每个标签中的内容是什么。而font(字体)、p(段落)虽然可以得到同样的样子,但是就不是很容易看出来他们代表什么。

语义化标签可以帮助搜索引擎识别出来网页每个部分的作用、帮助手机浏览器重点显示文章正文等。

(四)id和name

每个标签几乎都可以设置id、name属性,命名规则和主流编程语言中变量命名规则一样。id属性的值在页面内部必须是唯一的,如果设置的重复不会报错,但是效果会很奇怪。

name属性的值在页面中可以重复,具体用户到表单标签会讲。

(五)基本标签

对于普通文本就是原样显示,但是对于若干连续的空白字符(空格符、换行符、制表符)处理成一个空格的显示效果。

<h1> ~ <h6>定义标题文本,文章的各级标题(用当前这个课件讲解)通常用这些标签。h1最大,h6最小,没有h7。<p>定义段落文本,<br>定义换行,<hr>定义水平线。

例子:

(六)列表标签

无序列表

<ul>:在页面上显示一个无序列表。ul就是UnorderedList的简写

<li>:表示一个列表项。li嵌套在ul中。li就是ListItem的简写。

可以通过ul标签的type属性来设置图标的样子,type有disc(默认值)、circle、square几个可选值。

有序列表

<ol>:在页面上显示一个有序列表。ol就是OrderedList的简写

<li>:表示一个列表项。li嵌套在ol中。

可以通过ol标签的type属性来设置图标的样子,type几个1、a、A...可选值。

<h3>特长1:</h3>

<ol>

<li>高</li>

<li>帅</li>

<li>有钱</li>

</ol>

<h3>特长2:</h3>

<ol type="1">

<li>高</li>

<li>帅</li>

<li>有钱</li>

</ol>

<h3>特长3:</h3>

<ol type="a">

<li>高</li>

<li>帅</li>

<li>有钱</li>

</ol>

<h3>特长4:</h3>

<ol type="A">

<li>高</li>

<li>帅</li>

<li>有钱</li>

</ol>

<h3>特长5:</h3>

<ol type="i">

<li>高</li>

<li>帅</li>

<li>有钱</li>

</ol>

<h3>特长6:</h3>

<ol type="I">

<li>高</li>

<li>帅</li>

<li>有钱</li>

</ol>

自定义列表

一般用来描述一组相关的“标题-数据”。用的比较少。

dl:在页面上显示一个自定义列表。

dt:定义父节点列表项的名字。

dd:定义子节点列表项的值。

注意:dt和dd不是嵌套关系,而是并列的。


 

<h3>个人信息:</h3>

<dl>

<dt>姓名</dt>

<dd>杨小帅</dd>

<dt>身高</dt>

<dd>180</dd>

<dt>籍贯</dt>

<dd>帅哥市</dd>

</dl>

(七)文本显示效果标签

在最开始的时候,HTML使用标签控制文本的显示效果,随着技术的发展,开始使用CSS语言控制页面的效果,这些文本显示效果标签不再建议使用。

<small>小号</small>

<big>大号</big>

<b>粗体</b>

<i>斜体</i>

<u>下划线</u>

<s>删除线</s>

<strike>删除线</strike>

<center>居中</center>

<em>强调</em>

<strong>强烈</strong>

<sup>上标</sup>

<sub>下标</sub>

<p>

A<sub>1</sub>+2<sup>3</sup>=8</p>

<font face="楷体" size="6" color="red">字体</font>

(九)表格标签

<table>定义一个表格整体

<caption>定义表格标题

<tr>定义表格中的行

<td>定义行中的单元格

<thead>表头

<th>定义表格中的表头单元格

<tbody>表格主体,可用于大表格分段显示优化

<tfoot>表格的脚注

其实发现上面的tfoot、tbody去掉之后,对于页面效果没有任何影响,但是加上之后能更好提现“语义化”。

th、td都是描述单元格的,th一般用于描述表头,表头默认也是粗体显示。

其实很多时候开发者也懒,很少有把table的语义标签用的这么规范的,经常见到这种写法。

<table border="1">

<tr><th>姓名</th><th>电话</th><th>工资</th></tr>

<tr><td>张三</td><td>138888888</td><td>8000</td></tr>

<tr><td>李四</td><td>139999999</td><td>6000</td></tr>

<tr><td>王五</td><td>136666666</td><td>7000</td></tr>

<tr><td>汇总</td><td></td><td>21000</td></tr>

</table>

 

很显然table的border属性控制的是表格线的宽度,默认是不显示表格线。

通过设定td、tr的colspan、rowspan 属性可以合并单元格。colspan设定一个单元格占多列(column),rowspan可以设定一个单元格占多行(row)。

(十)超链接标签<a>

网页中有很多链接,<a>标签就是用来定义超链接的,超链接可以链接到页内资源、本站内的资源、站外资源。

首先在网站中根目录建一个2.html,并且拷贝到根目录一个图片“gzh.png”,一个压缩包“1.zip”,文件名尽量避免中文、空格、特殊符号等。

a标签内的文本是超链接显示的内容,href属性是点击链接之后跳转的页面。

<a href="http://www.baidu.com/">百度</a>

<a href=" gzh.png ">给你看张图</a>

<a href="1.zip">点击下载</a>

 

点击之后看看不同的行为。当然测试超链接的时候不能在内置浏览器中测试,一些效果没有。

默认的,如果浏览器可以解析显示,浏览器就会直接解析显示,否则,就以文件下载的方式处理。

还可以设定target属性,最常用的有两个可选值:_self、_blank。_self是默认值,一般不需要指定,指的就是在当前页面打开链接。

而_blank则是在新窗口中打开链接。<a href="https://www.qq.com/" target="_blank">腾讯网</a>当然target="_blank"已经不推荐使用,在大部分手机浏览器中都不支持。

还可以通过带name属性的a标签定义“锚”位置,然后通过href中使用"#锚名字"来进行页面内导航。会尽量把链接指定的锚内容放到视口顶部显示(当前如果剩下内容的高度满足不了要求也就白搭)

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title></title>

</head>

<body>

<a href="#sec1"><h1>第一段</h1></a>

<a href="#sec2"><h1>第二段</h1></a>

<a href="#end"><h1>结尾</h1></a>

<br/><br/><br/><br/><br/><br/><br/><br/>

<br/><br/><br/><br/><br/><br/><br/><br/>

<p>开头开头开头开头开头开头开头开头开头开头开头开头</p>

<a name="sec1"><p>我们首先来看一下帅气的帅帅</p></a>

<br/><br/><br/><br/><br/><br/><br/><br/>

<a name="sec2"><p>接下来,我们再来欣赏再来欣赏</p></a>

<br/><br/><br/><br/><br/><br/><br/><br/>

<a name="end"><p>最后我们要说。。。。。。</p></a>

<br/><br/><br/><br/><br/><br/><br/><br/>

<br/><br/><br/><br/><br/><br/><br/><br/>

<br/><br/><br/><br/><br/><br/><br/><br/>

<a href="#">回到头部</a>

<br/><br/><br/><br/><br/><br/><br/><br/>

<br/><br/><br/><br/><br/><br/><br/><br/>

<br/><br/><br/><br/><br/><br/><br/><br/>

</body>

</html>

(十一)图片标签<img>

网页中显示的图片一般不是直接放到网页中的,而是放到网站中的一个独立的文件,只是在Html中通过img标签来引用这个图片文件而已。浏览器解析到这个Html的时候会再去找这个图片去下载、显示。因此图片必须存在,如果不存在,则网页中图片就显示不出来。

图片尽量不要用中文、空格等特殊文件名,暂时先和网页放到同一级文件夹下,后面会讲资源放到其他文件夹如何引用。

<img src="gzh.png"/>

一般不用设定img的标签文本,只要src指向要显示的图片文件名即可。

还可以通过height、width属性设定图片显示的大小:

<img src="gzh.png" width="50" height="50"/>

当然不建议直接通过修改图片大小的方式实现缩略图的效果,因为这只是看起来小了,文件仍然很大,起不到缩略图想要的“提高加载速度、降低加载流量”的效果。

<img>标签也可以a标签中,实现“图片超链接”的效果:

<a href="http://www.rupeng.com"><img src="gzh.png"/></a>

 

在Html5中,也可以直接把图片内容嵌入到Html中,比如:

<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAgCAMAAAAynjhNAAAABGdBTUEAALGPC/xhBQAAAwBQTFRFAAAA/2RWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALYd8ugAAAQB0Uk5T////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////AFP3ByUAAAAJcEhZcwAADsEAAA7BAbiRa+0AAAAZdEVYdFNvZnR3YXJlAHBhaW50Lm5ldCA0LjAuMjHxIGmVAAAAgElEQVQ4T+3ROwKAIAwDUHr/QyNp058Kg7MZlOYNCI55zM8vkSOLyHdeemDonlW3bAoWNi2m62B4PkKdg+8eLdEa3zw7cvesdG8fmFLgy8uI1BHnttm9DXYtVmmXK4S3ZiXaWGjI4Xx5nN01rFaCi7NAksM5agrH/iWV9ddWnfMCEm/368ErVpAAAAAASUVORK5CYII="/>

在支持Html5的浏览器中显示的结果:

这是文件的内容以Base64编码的形式表示成字符串。很显然只适合于比较小的图片文件,不用关心如何把一个图片转换为这种格式,了解这种用法即可。

(十二)表单标签

借助于表单标签,我们可以在网页中显示一些输入框、下拉列表、多选框等。

一般把表单标签放到form标签中,当然目前不放到form标签中貌似也没影响,具体区别要等到学到后台开发才能知道。

1.textarea

<textarea>是多行文本。可以通过cols、rows属性控制宽和高(也就是显示几行、几列文本)

<form>

<textarea></textarea>

<textarea rows="5" cols="30"></textarea>

</form>

2.select

<select>是下拉列表,<option>是内部的一项项的文本,<option>的内部文本是显示的文本,value属性是提交到后台服务器的值。

如果设定size的值大于1,就呈现普通列表效果,size越大能够一次看到的元素越多。如果设定multiple的值为"multiple",那么还可以让列表有多选效果(shift、ctrl等键控制多选)

<select>

<option value="bj">北京</option>

<option value="sh">上海</option>

<option value="tj">天津</option>

</select>

<select size="5">

<option value="bj">北京</option>

<option value="sh">上海</option>

<option value="tj">天津</option>

<option value="gz">广州</option>

<option value="sz">深圳</option>

<option value="cq">重庆</option>

</select>

<select size="3" multiple="multiple">

<option value="bj">北京</option>

<option value="sh">上海</option>

<option value="tj">天津</option>

<option value="gz">广州</option>

<option value="sz">深圳</option>

<option value="cq">重庆</option>

</select> 

Html中,有一些标签的属性只有一个可选值,而且这个可选值的值和属性名一样。那么就有这两种写法<a abc="abc">和<a abc>,效果是一样的,一般都用后者。如果不写就代表不设置这个属性。

因此<select size="3" multiple="multiple">经常写成<select size="3" multiple>

再比如表单标签都可以设置readonly属性来表示是否“只读”,也只有一个可选值,因此<input type="text" readonly/>就是设置输入框只读。

 

还可以通过optgroup给选项分组,分组本身不可以选择:

Html中,有一些标签的属性只有一个可选值,而且这个可选值的值和属性名一样。那么就有这两种写法<a abc="abc">和<a abc>,效果是一样的,一般都用后者。如果不写就代表不设置这个属性。
因此<select size="3" multiple="multiple">经常写成<select size="3" multiple>
再比如表单标签都可以设置readonly属性来表示是否“只读”,也只有一个可选值,因此<input type="text" readonly/>就是设置输入框只读。

还可以通过optgroup给选项分组,分组本身不可以选择:
<select>
	<optgroup label="直辖市">
		<option value="bj">北京</option>
		<option value="sh">上海</option>
		<option value="tj">天津</option>	
		<option value="cq">重庆</option>	
	</optgroup>

	<optgroup label="省会城市">
		<option value="gz">广州</option>
		<option value="jn">济南</option>
	</optgroup>
	<optgroup label="其他城市">
		<option value="sz">深圳</option>
		<option value="qd">青岛</option>
	</optgroup>							
</select>	
	效果图

效果图

3.input

input是比较复杂的标签,它可以表示输入框、单选按钮、多选按钮等内容。主要通过type属性的可选值有text、password、radio、checkbox、file、hidden、button、submit、reset。

text是文本;password是密码;hidden是隐藏域(以后有用);file是文件选择框;

input可以设定value属性,对于text来讲是显示的文本,对于button、submit、reset是按钮的文本。对于其他type来讲value的意义要以后才能懂。

HTML5中可以设定placeholder属性,呈现提示文本的效果。

radio是单选按钮,同一组只能有一个被选中;checkbox是多选按钮,同一组可以有多个被选中。radio、checkbox都是通过name属性分组,name相同的为一组。

<form>

 <input type="text" />

 <input type="password" />

 <input type="hidden" />

 <input type="file" />

<p>

  <input type="radio" name="gender"/>男

  <input type="radio" name="gender"/>女

  <input type="radio" name="gender"/>其他

</p>

<p>

<input type="radio" name="zy"/>工程师

<input type="radio" name="zy"/>作家

<input type="radio" name="zy"/>画家

</p>

<p>

<input type="checkbox" name="aihao" />篮球

<input type="checkbox" name="aihao" />足球

<input type="checkbox" name="aihao" />排球

</p>

</form>

radio和checkbox都可以通过属性checked来设置默认是否选择,这个属性也是只有一个可选值。

<input type="checkbox" name="aihao" />篮球

<input type="checkbox" name="aihao" checked/>足球

<input type="checkbox" name="aihao" checked />排球

 

type属性设置为button、submit、reset都是显示为按钮,value属性是按钮文本。button按钮点击之后没有默认行为,需要写JavaScript代码;submit则会将表单提交到服务器;reset则是点击后把表单内容重置。

<form>

<input type="text" />

<input type="password" />

<input type="button" value="普通按钮" />

<input type="submit" value="提交" />

<input type="reset" value="重置" />

</form>

type属性如果设置为image,就是一个显示为图片的提交按钮,点击后会提交表单,src属性指向显示图片的路径。

<input type="image" src="gzh.png" />

4.input的H5新特性

对于支持HTML5的浏览器type的可选值还有color、date、month、number、range等可选值,具体支持情况和行为根据浏览器不同而有差异。

<form>

<input type="color" />

<input type="date" />

<input type="datetime-local" />

<input type="month" />

<input type="number" />

<input type="range" />

<input type="time" />

<input type="week" />

</form>

新属性

placeholder  输入框的输入提示信息

required  必填

pattern  用于验证用户输入,语法是正则表达式

form  指定控件所属的表单,必须是其所属表单的 id,这样控件就不必一定要在<form>标签内了

multiple  指定文件上传时是否可选中多个文件

accept  指定上传文件时允许的文件类型,如 image/*

5.label

label标签可以用来给表单元素设置标签,被label设置的表单元素。和设置一个普通的文字不同,当点击label的时候,很多行为和直接点击关联的表单元素效果一样。需要给表单元素设置id属性,并且把label标签的for属性设置为对应的值。很显然一个label只能关联一个元素。

<form>

姓名:<input type="text" /><br/>

<label for="name">姓名:</label><input type="text" id="name"/><br/>

<p>

<input type="radio" name="gender"/>男

<input type="radio" name="gender"/>女

<input type="radio" name="gender"/>其他

</p>

<p>

<input type="radio" id="nan" name="gender1"/><label for="nan">男</label>

<input type="radio" id="nv" name="gender1"/><label for="nv">女</label>

<input type="radio" id="qita" name="gender1"/><label for="qita">其他</label>

</p>

<p>

    <input type="checkbox" name="aihao" id="lanqiu" /><label for="lanqiu">篮球</label>

    <input type="checkbox" name="aihao" id="zuqiu"/><label for="zuqiu">篮球</label>

    <input type="checkbox" name="aihao" id="paiqiu"/><label for="paiqiu">排球</label>

</p>

</form>

如果行为错乱,先看看是不是id、for写错了或者id重复了。

使用radio、checkbox的时候一定要配合label,否则可用性极差,使用text、password等也建议用label,这样用起来更方便。

6.button

<button>标签是一个按钮,但是和input实现的按钮比起来,button的好处是内容可以是图片等丰富的内容。button点击后也是提交表单。

<form>

<button>普通按钮</button>

<button>图片<img src="button.jpg"/></button>

</form>

(十三)页面布局标签<div>、<span>

<div>(division)和<span>都可以把页面分成相对独立的各个部分(分区),方便布局,不同之处在于div默认有换行效果,而span则没有。

<div>div1</div>

<div>div2</div>

<div>div3</div>

<span>span1</span>

<span>span2</span>

<span>span3</span>

span和div的作用后面讲到CSS才能体会更多。

 

(十四)框架标签(已过时)

用Frame可以实现一个页面中嵌套其他页面的效果。这种做法已经过时,尽量不要用。

<html>

<head></head>

<frameset rows="100px,*">

<frame src="2.html"/>

<frameset cols="20%,*">

<frame src="https://me.csdn.net/qq_27248989"/>

<frame src="http://www.baidu.com"/>

</frameset>

</frameset>

</html>

frame方式比较死板,也可以通过iframe更自由的引用其他页面。

 

<html>

<head>

<meta charset="UTF-8">

</head>

<body>

<iframe src="2.html"width="600px"height="370px"></iframe>

<p>这是222222</p>

</body>

</html>

 

(十五)资源相对路径、绝对路径

网站中,不可能把所有文件都放到根目录下,会把不同资源放到不同的目录下,这时候就涉及到相对路径、绝对路径的问题。超链接、图片以及后面讲的js、css等都会有类似问题。

有三种路径:

/表示网站根目录

什么都不写或者.表示当前目录

..表示上一级目录

 

假设有如下项目

那么index.html

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8"/>

<title></title>

</head>

<body>

<img src="./img/1.png"/>

<img src="img/gzh.png"/>

<img src="/b/img/logo.jpg"/>

<a href="/b/football/1.html">1</a>

</body>

</html>


1.html

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title></title>

</head>

<body>

<img src="../img/1.png"/>

<img src="/b/img/logo.jpg"/>

<a href="/b/football/1.html">1</a>

<a href="../football/2.html">2</a>

</body>

</html>

(十六)H5多媒体标签

<video>用来在页面播放视频。

<audio>用来在页面播放音频。

在Html5之前,需要借助于Flash等技术才能在网页上播放视频、音频,但是Flash技术已经属于被淘汰的技术,不推荐使用。

 

1.<video>视频标签

<video>标签用来在页面播放视频,支持MP4、WebM两种视频格式和OGG音频格式,但各浏览器之间没有统一的标准,不同的浏览器支持的格式不同,为此又提供了source标签,可以提供备选的视频资源,也就是一个播放不了就换另外一个。

<video controls="controls" width="960px" height="450px">

<source src="resource/a.ogg" />

<source src="resource/a.mp4"/>

</video>

2.<audio>音频标签

<audio>标签用来在页面播放音频,支持OGG、MP3、WAV三种音频格式,同样,各浏览器之间也没有统一的标准

<audio>标签的用法和<video>标签非常相似

 

<audio controls="controls">

<source src="resource/1.mp3" />

<source src="resource/1.wav" />

<source src="resource/1.ogg" />

</audio>

(十七)H5新的语义标签

在HTML5之前,文档中无论是布局还是内容结构方面,使用的都是div标签。HTML5为文档内容语言结构方面定义了一些新的标签:

header

一般放置logo或者菜单栏

nav

一般放置网站内的目录、导航栏链接,或者网站外的友情链接

article

页面中相对独立的结构,如一篇文章,或者此文章的每一个评论

section

定义页面或者article的章节

aside

一般放置广告或者解释性信息

footer

一般放置版权信息的

 

这些标签除了可以让文档的语义结构更加清晰外,还可以方便搜索引擎的抓取,也为程序对页面的准确分析提供了可能。

 

新旧文档语义结构对比

 

注意:这些标签只是定义了文档的语言结构,显示样式还是由后面讲的css来控制

猜你喜欢

转载自blog.csdn.net/qq_27248989/article/details/106379207
今日推荐