HTML学习笔记

一、HTML简介

1.什么是HTML

HTML,Hyper Text Markup Language(超文本标记语言),由各种标签组成,用来制作网页,告诉浏览器该如何显示页面。

2.作用

  • 制作网页,控制网页和内容的显示
  • 插入图片、音乐、视频、动画等多媒体
  • 通过连接检索信息
  • 使用表单获取用户信息,实现交互

3.版本

W3C,World Wide Web Consortium(万维网联盟),制作Web技术相关标准和规范的组织,其中HTML就是W3C制定的标准。
两个版本:HTML4.01、HTML5
官网:http://www.w3school.com.cn/

4.后缀名

HTML文件是以.html或.htm结尾

二、HTML文档结构

1.基本结构

  • 1.1 简介
    • HTML标签是由尖括号包围的关键词,如<html>,通常都是成对出现的,如<html></html>。
    • <html>为根标签,包含<head>头部和<body>主体。
    • 头部提供关于网页的相关信息,如标题、文档类型、字符编码、关键字等摘要信息。
    • 主体部分提供网页的具体内容,真正要展示在页面中。
    • 合理的进行缩进。
    • 标签不区分大小写,但是推荐都是用小写。
  • 1.2 开发工具
    记事本、Sublime、Notepad++、Dreamweaver、VSCode、WebStrom等。
  • 1.3 浏览器
    常见浏览器,IE微软、Chrome谷歌、Firefox火狐、Safari苹果
    浏览器的作用是读取HTML文件,并以网页的形式显示
    浏览器不会直接显示HTML标签,而是使用标签来解释网页的内容

2.标签

  • 2.1标签组成
    一个完整的HTML标签组成
<标签名 属性名="属性值">内容</标签名>

注意:属性值要用引号引起来,一般使用双引号

  • 2.2 标签分类
    根据标签是否关闭,分为:关闭型,非关闭型
    • 关闭型:有结束标签,即成对出现
  <title></title>
  <body></body>
  • 非关闭型
  <meta>
  <br>
  <hr>

根据标签是否独占一行,分为块级标签,行级标签

  • 块级标签:显示为块状,独自占一行
  <h1></h1>
  • 行级标签:不会独占一行,在行内显示
  <span></span>

3.注释
注释在浏览器中是不会显示的,用来标注解释,但通过查看网页源代码是可以被看到的。

<!--  注释的内容  -->

4.实体字符
也称为特殊字符,用来显示一些特殊符号,如< 、> 、&、空格等。
语法:

  &实体字符名称;

常用实体字符

  &lt;    <     小于号    less than
  &gt;    >     大于号    greater than
  &nbsp;        空格      space   对于连续的空白字符(包括空格,缩进,换行等),在浏览器中显示时只会显示为一个空格   
  &amp;   &     与
  &quot;  "     双引号  
  &copy;  ©     版权符号   copyright
  &reg;   ®     注册符号   register
  &times; ×     关闭符号   close

注意:实体字符名称是区分大小写的

5.文档类型
在HTML文档第一行,使用<!DOCTYPE>声明HTML文档类型,用来告诉浏览器当前页面的文档类型。
目前使用的HTML5:<!DOCTYPE html>

三、常用标签

1.基本标签

HTML基本标签

1.1 有序列表
ol:ordered list
li:list item
默认使用阿拉伯数字,从1开始标记,可以通过属性进行修改

  • type属性:设置列表前的标记符号,取值:数字1、字母a或A,罗马数字i或I
  • start属性:设置起始值,必须为数字

1.2 无序列表
ul:unordered list
li:list item
默认使用实心圆作为符号标记,可以通过属性进行修改

  • type:设置列表前的符号标记,取值:disc实心圆(默认)、circle空心圆、square正方形、none不显示符号

1.3 定义列表
dl:definition list
dt:definition title
dd:definition description

1.4 水平线标签
hr:horizontal
常用属性:

  • color:颜色
    两种写法:
    颜色名称,如red、green、blue等
    16进制的RGB值:每个颜色的值在0-255之间,转换为16进制为00-FF,如 #FFFFFF
  • size:粗细
  • width:宽度
    两种写法:
    像素,绝对值(固定值)
    比例,百分比,相对于父容器宽度的百分比
  • align:对齐方式
    left、right、center

1.5 图像标签
img:image
常见图片格式:jpg、png、gif、bmp
常用属性:

  • src:source 指定图片的路径
  • alt:当图片无法显示时的提示信息
  • title:当鼠标停留在图片上时,显示的信息
  • width/height:设置图片的宽和高
    默认显示图片原有大小,如果只设置一个值会按比例进行缩放。
    两种写法:
    像素,绝对值
    百分比,相对值,相对于父容器尺寸的百分比

2.其他标签

HTML其他标签

为了更好的语义化

3.头部标签

  • meta 定义网页的摘要信息,如字符编码、关键字、描述、作者等。
  • title 定义网页的标题。
  • style 定义内部css样式
  • link 引用外部的css样式
  • script 定义或引用脚本
  • base定义基础路径
    默认以当前文件所在位置为相对路径的参照

4.标签嵌套
一个标签嵌套着另一个标签,但是标签的嵌套是有要求的,如:

  <p style="width: 300px; height: 300px; background-color: green;">
    <div style="width: 200px; height: 200px; background-color: blue;">
      world
    </div>
  </p>

浏览器渲染后显示页面的代码可能与编码时有所不同
Chrome浏览器提供的开发人员工具,用来帮助开发人员查看和调试页面
如何打开:

  • 在页面空白处右击——>检查/审查/查看元素
  • 按F12

常用工具:

  • Elements:从浏览器的角度查看页面,浏览器渲染页面时的结构内容
  • Console:控制台,显示各种警告和错误信息
  • Network:查看网络请求相关信息,浏览器向服务器请求了哪些资源、资源大小、加载资源消耗的时间

四、超链接

1.简介

使用超链接可以从一个页面跳转到另一个页面,实现页面间的导航

超链接的三种类型:
-普通链接/页面间链接,跳转到另一个页面

  • 锚链接,跳转到锚点
  • 功能性链接,实现特殊功能

2.基本用法
使用<a>标签创建超链接
语法:

<a href="链接的地址" target="链接打开的位置">链接文本或图像</a>

常用属性:

  • href:链接地址,连接路径
  • target:链接打开位置,取值:
    _self(自身、当前,默认值)
    _blank(空白,新的)
    _parent(父层框架)
    _top(顶层框架)

路径分类:

  • 相对路径
    相对于当前文件的路径
    不是以根开始的路径
    .表示当前路径
    ..表示上一级路径
  • 绝对路径
    以根开始的路径
    http://www.baidu.com

3.锚链接
3.1 简介
点击链接后跳转指定的位置(锚点anchor)

锚链接的分类:

  • 页面内的锚链接
  • 页面间的锚链接

3.2 页面内的锚链接
步骤:
1.定义锚点(标记)

  <a name="锚点名称">目标位置</a>

或者

<div id="锚点名称">链接文本</a>

2.连接锚点

  <a href="#锚点名称">链接文本</a>

3.3 页面间的锚链接

  <a href="目标页面#锚点名称">链接文本</a>

4.功能性链接

5.URL
5.1 简介
URL:Uniform Resource Locator 统一资源定位符,用来定位资源所在位置。

5.2 组成

https://tieba.baidu.com/web/views/index.html?name=tom&age=21&sex=male#first

一个完整的URL由8部分组成:

  • 协议 protocol,如
    http 超文本传输协议 (Hyper Text Transfer Protocol),用来访问网站
    https 更加安全的协议
    ftp 文件传输协议(File Transfer Protocol),用来访问服务器上的文件,实现文件的上传和下载

  • 主机名 hostname 服务器地址,如 tieba.baidu.com

  • 端口 port 位于主机名后面,使用冒号隔开
    不同的协议使用不同的端口号,如http使用80,https使用443,ftp使用21
    如果使用默认端口,则可以省略不写
    如果使用的不是默认的端口,则必须指定端口

  • 路径 path 目标文件所在的路径结构,如 web/views

  • 资源 resource 要访问的目标文件,如 index.html

  • 查询字符串 query string 也成为参数
    在资源后面,使用?开头的一组名称
    名称和值之间使用“=”隔开,多个之间使用“&”隔开,如:
    ?name=tom&age=21&sex=male

  • 锚点 anchor,在资源后面以“#”开头的文本,如:#first表示链接到指定的锚点

  • 身份认证 authentication,指定身份信息,
    ftp://账户:密码@ftp.hxx.com/note/HTML.md

五、表格

1.简介

表格是一个规则的行列结构,每个表格都是由若干行组成,每行由若干单元格组成

table row column

2.基本结构

2.1 table标签
用来定义表格

常用属性

  • border 边框,默认为0
  • width/height 宽度/高度
  • align 水平对齐方式,取值:left、center、right
  • bordercolor 边框颜色
  • bgcolor 背景颜色
  • background 使用图片作为背景
  • cellspace 间距 单元格与单元格之间的间距
  • cellpadding 边距 单元格内的内容与边框的距离

2.2 tr标签
用来定义行,table row
常用属性:

  • align 水平对齐,取值:left,center,right
  • valign 垂直对齐 vertical 取值:top middle bottom
  • bgcolor 背景颜色
  • background 背景图片

2.3 td标签
用来定义列 table data
常用属性:align valign bgcolor background

注意:table中至少有一个tr,tr中至少有一个td,数据必须放到单元格中

3.合并单元格
也称为表格的跨行跨列
两个属性:

  • rowspan
    设置单元格所跨越的行数,如rowspan=2,表示跨越了2行
  • colspan
    设置单元格所跨的列数,如colspan=4,表示跨越了4列

步骤:
1.在跨越的单元格中设置rowspan或colspan
2.将被跨越的单元格删除
注意:必须保证每行的实际列数是相同的,否则就会发生错乱

4.高级标签
4.1 caption标签
表格的标签

4.2 thead标签
表格的头部 table head

4.3 th标签
表格的头部标签 table head title
一般用在thead中,设置头部的标题,主要用来替代<td>,相对于<td>进行了加粗

4.4 tbody标签
表格的主体 table body

4.5 tfoot标签
表格的底部 table foot

六、表单

1.简介

是一个包含若干表单元素的区域,用于获取不同类型的用户信息
表单元素是允许用户在表单中输入信息的元素,如:文本框、密码框、单选按钮、复选框、下拉列表、按钮等

image.png

2.表单结构
2.1 表单的语法

  <form action="表单提交地址" method="提交方式">
    多个表单元素
  </form>

2.2 form标签
用来定义表单,可以包含多个表单元素
常用属性:

  • action
    表单提交的地址,即处理数据的程序,默认为当前页面
  • method
    提交表单的请求方式,取值:get(默认值)、post
    get和post的区别:
    get:以查询字符串的形式进行提交,数据在地址栏中可以被看到,限制长度,是不安全的。
    post:以表单数据组的形式进行提交,在地址栏中不显示,长度无限制,比较安全。
  • enctype
    指定提交数据的编码方式,取值:application/x-www-form-urlencoded(默认值)、multipart/form-data(文件上传时使用)

3.表单元素

  <input type="表单元素类型" name="名称" value="初始值">

大多数表单元素都是使用<input>标签来定义,通过设置type属性定义不同的表单元素

3.1 单行文本框

常用属性:

  • name 指定表单名称,如果没有指定name,那么该表单元素的数据是无法提交的
  • value 表示表单元素的初始值
  • size 指定表单元素的宽度
  • maxlength 指定最大字符数,默认没有限制
  • readonly 只读
  • disabled 禁用
    readonly和disabled的区别:前者的数据可以被提交,后者不可以被提交。
  • enable 启用
    表单元素被提交的两个条件:1.必须指定了name属性 2.非disabled

3.2 单选按钮

常用属性:

  • name 名称,多个radio的name属性值必须相同,才能实现互斥
  • value 值
  • checked 是否选中,两种状态,选中、未选中

3.3 复选框
常用属性与radio类似

3.4 文件选择器

常用属性:

  • name 名称
  • accept 设置可选的文件类型,用来限制上传的文件类型
    使用MIME格式字符串对资源类型进行限制
    常见MIME类型:
    • 纯文本,textplain text/html text/xml
    • 图像,image/jpeg image/png image/gif

4.特殊表单元素

image.png

4.1 下拉列表
select常用属性:

  • name 名称
  • size 行数,可以同时显示多个选项
  • multiple 允许同时选择多个
  • disabled 禁用

option常用属性:

  • value 选项值(必须指定)
  • selected 默认选中的

optgroup常用属性

  • label 分组的标题

4.2 文本域
常用属性:

  • name 名称
  • rows 指定行数
  • cols 指定列数

5.其他表单元素
5.1 label标签
为表单元素提供标签,当选中label标签中的文本内容时会自动将焦点切换到与之关联的表单元素

常用属性:

  • for 必须将该属性的值设置为与之关联的表单元素的id属性值相同
    注意:几乎所有html标签都具有id属性,且id值必须是唯一的

5.2 button标签
也表示按钮,与input类似
语法:

<button type="按钮类型">这是按钮的文本和图像</button>

常用属性:

  • type 按钮类型,取值:submit(默认)、reset、button

5.3 fieldset和legend标签
fieldset标签,对表单元素进行分组
legend标签,对分组添加标题

七、内嵌框架

1.简介

使用ifream框架可以在一个页面中去引用另一个页面,从而实现复用,比较灵活。

2.基本用法
语法:

  <iframe src=""></iframe>

常用属性:

  • src 引用的页面
  • width/height 宽度和高度
  • frameborder 是否显示框架的边框,取值:1(显示)或0(不显示)
  • scrolling 是否显示滚动条,取值:yes、no、auto
  • name 为内嵌框架设置名称

3.在框架中打开链接

  <iframe name="hello"></iframe>
  <a href="链接地址" target="hello">链接文本或图像</a>

八、HTML5简介

1.发展
W3C于1992.12发布了HTML4.0.1标准
W3C于2014.10发布HTML5标准

2.特点

  • 取消了过时的标签,如font、center等,它们仅用于展示外观
  • 增加了一些更具有语义化的标签,如header、footer、aside等
  • 增加了一些新功能标签,如audio、video、canvas等
  • 增加了一些表单控件,如email、date、time、url、search等
  • 可以直接在浏览器中绘画(canvas),无序flash
  • 增加了本地存储的支持

3.兼容性
http://caniuse.com
提供了各浏览器版本对HTML5和CSS3规范的支持程度

九、HTML5新增内容

1.结构化相关标签
用来进行页面结构的布局,本身无任何特殊样式,需要使用CSS进行样式设置

  • article 文章 定义一个独立的内容,完整的文章
  • section 章节 定义文档的章节、段落
  • header 文章的头部、页眉、标题
  • footer 文章的底部、页脚、标注
  • aside 定义侧边栏
  • figure 图片区域
  • figcaption 为图片区域定义标题
  • nav 定义导肮菜单
    注意:结构标签只是表明各部分的角色,本身并无实际的外观样式,与普通div相同

2.语义相关标签
2.1 mark标签
标注,用来突出显示文本内容,默认添加黄色背景

2.2 time标签
定义日期和时间,便于内容被搜索引擎更好的搜索到

2.3 details和summary标签
默认会显示summary中的内容,点击后显示details中的内容
注意:并不是所有浏览器都兼容、Chrome、Opera支持

2.4meter标签
计量仪,表示度量

常用属性:

  • max 定义最大值,默认为1
  • min 定义最小值 默认为0
  • value 定义当前值
  • high 定义限定为高的值
  • low 定义限定为低的值
  • optimum 定义最佳值

规则:
1.如果optimum大于high则表示越大越好
当value大于high时为绿色
当value位于low和high之间为黄色
当value小于low时为红色

2.如果optimum小于low则表示越小越好
当value大于high时为红色
当value位于low和high之间为黄色
当value小于low时为绿色

3.当optimum介于low和high之间表示比较好
当value大于high时为黄色
当value小于low时为黄色
介于low和high之间时为绿色

2.5 progress标签
进度条,表示进度

常用属性:

  • value 定义当前值
  • max 定义完成的值

3.表单相关
3.1 新增表单元素
新增以下type类型:

  • email 定义邮件类型
  • url 接收地址
  • tel 接收电话号码,目前仅在移动设备上有效
  • number/range 接收数字/数字滑块,包含min、max、step
  • date/month/week/time/datetime 日期时间选择器
  • color 颜色拾取

作用:

  • 具有格式校验功能
  • 可以与移动设备的键盘相关联

3.2 新增表单属性

form标签属性:

  • autocomplete 是否启用表单的自动完成功能,取值:on(默认)、off
  • novalidate 提交表单时不进行校验,默认会进行表单校验

3.3 新增表单元素属性
新增表单元素属性:input/select/textarea等

  • placeholder 提示文字
  • required 是否必填
  • autocomplete 是否启用该表单元素的自动完成功能
  • autofocus 设置初始的焦点元素
  • pattern 使用正则表达式(RegExp)、进行数据校验
  • list 使文本元素拥有下拉列表的功能,需要配置datalist和option标签
  • form 可以将表单元素写在form标签外部,通过该属性关联指定的表单

4.多媒体相关
4.1 audio标签
在页面中插入音频,不同浏览器对音频格式的支持也不同

audio常用属性:

  • src 音频文件的来源
  • controls 是否显示控制面板,默认不显示
  • autoplay 是否自动播放,默认不自动播放
  • loop 是否循环播放
  • muted 是否静音
  • preload 是否预加载,取值:none不会预加载、auto预加载(默认值)、metadata只预加载元数据,如果设置了autoplay,则该属性无意义

可以结合source标签使用,指定多个音频文件,浏览器会检测并使用第一个可用的音频文件

  <audio>
    <source src="音频文件">
  </audio>

4.2 video标签
在页面中插入视频文件,不同浏览器对视频格式的支持也是不同的
用法与audio标签基本相同,增加属性:

  • width/height 视频播放器尺寸
  • poster 在视频加载前显示的图片
<video src="视频文件" autoplay width="600px" poster="图片名"></video>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,393评论 5 467
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,790评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,391评论 0 330
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,703评论 1 270
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,613评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,003评论 1 275
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,507评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,158评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,300评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,256评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,274评论 1 328
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,984评论 3 316
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,569评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,662评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,899评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,268评论 2 345
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,840评论 2 339

推荐阅读更多精彩内容

  • 概述 在网易云课堂学习李南江老师的《从零玩转HTML5前端+跨平台开发》时,所整理的笔记。笔记内容为根据个人需求所...
    墨荀阅读 2,324评论 0 7
  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,721评论 1 92
  • 块级元素和内联元素 在HTML中有两种你需要知道的重要元素类别,块级元素和内联元素。 块级元素在页面中以块的形式展...
    MajorDong阅读 1,787评论 0 0
  • HTML 注释 HTML 标签分类(按照功能): 文本的修饰,文字排版,图片,链接,表格,列表,表单,框架 ,语音...
    Ethan_Lan阅读 444评论 0 0
  • 最近一段时间电视综艺被各种小鲜肉和小花旦霸屏,虽说养眼是养眼,但是真的让我很难有看下去的欲望。所以这段时间严...
    熊猫酱阅读 605评论 2 3