Html简介

本文介绍一个网页的骨架:html

文本本质

Html是一种标记语言,用于制作网页。
网页本质上是文本文件,按照html格式书写,打开时浏览器会进行解析然后显示出对应内容
最简单的实例,新建一个文本文件,输入如下内容

然后使用浏览器打开,即可看到内容

格式

既然是预定义的格式,那么学习的重点其实就是html提供了哪些预定义的内容,以及它们的功能是什么

从整体来看,html文档呈现出树的结构,每个元素对应一个节点

一对head/tail定义一个节点。
节点类型由tag表明,节点属性由attibute表明(可以为空),子树由inner html定义(可以为空,此时为叶节点)
所谓属性,也就是键值对,没什么特殊的。如果key正好是格式规定的,那浏览器就会做相应处理。如果是自定义的,那么html5标准建议以data-开头,后面写实际的key,浏览器不会做任何处理只是将数据附加到节点上
tag是定义的重点,类型表明该节点能干什么,配合属性就构成了完整的单元。

常用的tag如下:
h1 h2 h3 – n级标题
p – 普通段落
br – 换行
控制字体大小、颜色等不建议在html中通过属性设置,这是老古董的方式。现在的推荐方式是CSS样式表,另一文章中有阐述

a  -  超链接  <a href = "https://dins.site" target = "_blank">First link</a>
href指定目标,target写法表示在新选项卡中打开,inner里显示实际文字
img -  图片  <img src = "DinS-icon.jpg" alt = "dins icon" width = "256" height = "256"></img>
src指定文件路径,可以是相对路径比如abc.jpg(起始从该html文件位置算起)
可以是绝对路径,比如/images/abc.jpg,也可以是网络图片比如//www.runoob.com/images/logo.png
alt表示图像加载失败时的替代选项
audio -  音频  <audio src = "sound.mp3" controls = "controls"></audio>
controls表示显示控制框,比如开始、暂停、进度条等
video  -  视频  <video src = "play.mp4" width = "1280" height = "720" controls = "controls"></video>
同理
iframe  -  框架:内嵌另一个页面在当前页面
<iframe src="https://dins.site" width="80%" height="600"></iframe>
可进一步使用frameborder="0"来隐藏边框
canvas  -  画布
可以结合javascript在上面绘制内容,自由性极大
form  -  表单:常见的与用户互动的UI,比如按钮、下拉框、文本输入……
 <form>
Username: <input type="text" name="user"></input>
<input type="submit" value="Submit"></input>
</form> 
一个表单可以放入若干元素,控件类型使用type决定。请参阅完整手册
script -  脚本
见JavaScript一文

加载过程

html的加载还是需要说一说的
因为是网络传输,所以不可能一下子把所有内容都显示出来,特别是存在多媒体文件的时候。
首先加载head内容,只有当head内容全部加载好之后才进入body部分。head部分用户是看不到的,通常用来加载脚本和样式表,这也是需要下载外部文件的
之后是加载body部分,按照元素定义顺序加载并显示,加载到哪里就显示到哪里。如果遇到多媒体,那么会异步加载
这种加载机制隐含了一个意思:用户可以在页面没有完全加载结束之前就与页面上的UI互动。对于静态html不要紧,但是如果存在脚本而且脚本要获取页面上某些元素时,就需要开发者注意了