HTML学习记录
学习网站:B站黑马前端HTML内容
Day1 前端HTML讲解p1-p60
1.1 网页
- 什么是网页
网站:在因特网上根据一定的规则,使用HTML等制作的用于展示特定内容相关的网页集合。
网页:是网站中的一“页”,通常是HTML格式的文件,需要通过浏览器来阅读。
网页是构成网站的基本元素,它通常由图片、链接、文字、声音、视频等元素组成。通常我们看到的网页,常见的以htm 或html后缀结尾的文件,因此将其俗称为HTML文件。
- 什么是HTML
HTML指的是超文本标记语言,是用来描述网页的一种语言。它不是编程语言,而是一种标记语言,是一套标记标签。
所谓超文本的含义:
1)它可以加入图片、声音、动画、多媒体等内容(超越了文本限制)。
2)它可以从一个文件跳转到另一个文件,与世界各地主机的文件连接(超级链接文本)。
- 网页的形成
网页由网页元素组成,利用html标签表述,通过浏览器的解析来展示给用户。
1.2 常用浏览器
- 常用浏览器
浏览器是网页显示、运行的平台。常用的浏览器有IE、火狐(FireFox)、谷歌(Chrome)、Safari以及Opera等。
- 浏览器内核
浏览器内核(渲染引擎):负责读取页面内容,整理信息,计算王爷的显示方式并显示页面。
1.3 Web标准(重点)
Web标准是有W3C组织和其他标准化组织制定的一系列标准的集合。W3C(万维网联盟)是国际最著名的标准化组织。
- 为什么需要标准
发展前景、广泛的设备访问、搜索引擎访问、降低网站流量费用、使网站易于维护、提高页面浏览速度。
- Web标准的构成
主要包括结构(Structure)、表现和行为三个方面相分离。
结构(身体):用于对网页元素进行整理和分类,现阶段主要学的是HTML。
表现(颜色):用于设置网页元素的版式、颜色、大小等外观样式,主要指CSS。
行为(动作):指的是网页模型的定义以及交互的编写,主要是Javascript。
1.4 HTML标签
- 基本语法概述
HTML标签是由尖括号包围的关键词,例如;
通常是成对出现的,称为双标签;
有些特殊的标签必须是单个标签,称为单标签。
- 第一个HTML页面
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>我利用vscode创建的第一个页面</title>
</head>
<body>
写代码是一件非常快乐的事情 happy
</body>
</html>
- 文档类型声明标签
<!DOCTYPE>文档类型声音,作用就是告诉浏览器使用哪种HTML版本来显示网页。
<!DOCTYPE html> 这句话的代码的意思是:当前页面采取的是HTML5版本来显示网页
注意:
1.声明位于文档中的最前面的位置,处于标签之前。
2.不是一个HTML标签,他就是文档类型声明标签。
-
代表语言种类
-
字符集
字符集(Character Set)是多个字符的集合,以便计算机能够识别和存储各种文字。
在标签内,可以通过标签的charset属性来规定HTML文档应该使用哪种字符编码。
<meta charset="UTF-8">
charset常用的值:GB2312、BIG5、GBK和UTF-8,其中UTF-8也被称为万国码,基本包含了全世界所有的国家需要用到的字符。尽量写成统一标准的”UTF-8“,不要写成utf8或UTF8.
1.5 HTML常用标签
- 标签语义
学习标签是有技巧的,重点是记住每个标签的语义。简单理解就是标签的含义,即这个标签用来干嘛的。根据标签的语义,在合适的地方给一个最为合理的标签,可以让页面结构更清晰。
- 标题标签<h1> - <h6>(重要)
为了使网页更具有语义化,我们经常会在页面中用到标题标签。HTML提供了6个等级的网页标题,即<h1>-<h6>。作为标题使用,并且依据重要性递减。
- 段落和换行标签(重要)
在网页中,要把文字有条理的显示出来,就需要将这些问题分段提示。在HTML标签中<p>标签用于定义段落,它可以将网页分为若干个段落。可以把html文档分割成若干段落。
<p>我是一个段落标签</p>
特点:
- 文本在一个段落中会根据浏览器窗口的大小自动换行。
- 段落和段落之间留有空隙。
在HTML中,一个段落的中的文字会从左到右依次排列,直到浏览器窗口的右端,然后才自动换行。如果希望某段文本强制换行显示,就需要使用换行标签,强制换行。
<br/>
特点:
- 换行是一个单标签
- br标签只是简单开始新的一行,跟段落不一样,段落之间会有垂直的间距。
- 文本格式化标签
在网页中,有时需要为文字设置粗体、斜体或下划线等效果,这时就需要用到HTML中的文本格式化标签,使得文字以特殊的方式显示。
- <div>和<span>标签
<div>和<span>是没有语义的,它们就是一个盒子,用来装内容的。
<div>这是头部</div>
<span>今日价格</span>
div是division的缩写,表示分割、分区。span意为跨度、跨距。
特点:
1.<div>标签用来布局,但是一行只能放一个<div>,大盒子。
2.<span>标签用来布局,一行上可以多个<span>,小盒子。
1.6 图像标签和路径
- 图像标签
在HTML标签中,标签用于定义HTML页面中的图像。
<img src = "图像url" / >
src用于指定图像文件的路劲和文件名。
图像标签属性注意点:
1)图像可以有多个属性,必须写在img的后面。
2)属性不分顺序,采用键值对方式,属性与属性之间空格分隔。
3)src是必须写的属性
- 路径相关知识
1)目录文件夹和根目录
目录文件夹:即存放页面所需的相关素材。
根目录:双击打开Web第一层就是根目录。
2)相对路径:
以引用文件所在位置为参考基础,从而建立出的目录路径。同级直接用,上一级为.../
3)绝对路径:
是指目录下的绝对位置,直接到达目标位置,通常是从盘符开始的路径。其中斜杠为\
1.7 超链接标签
<a href = "跳转目标" target="目标窗口的弹出方式">文本或图像</a>
href:用于链接目标的url地址,当为标签应用href属性时,它就具有了超链接的功能。
target:指定链接页面的打开方式,其中_ self为默认值,_ blank为在新窗口中打开。
<h4>1.外部链接</h4>
<a href="http://www.qq.com" target="_blank"> 腾讯</a>
<a href="http://www.itcast.cn" target="_blank">传智播客</a>
<h4>2.内部链接: 网站内部页面之间的相互链接</h4>
<a href="gongsijianjie.html" target="_blank">公司简介</a>
<h4>3.空链接:#</h4>
<a href="#">公司地址</a>
<h4>4.下载链接: 地址链接的是 文件 .exe 或者是 zip 等压缩包形式</h4>
<a href="img.zip">下载文件</a>
<h4>5.网页元素的链接</h4>
<a href="http://www.baidu.com"><img src="img.jpg" /></a>
1.8 锚点链接
点击链接 可以快速定位到页面中的某个位置
3 <a href="#live">个人生活</a><br />
4 <a href="#zuopin">主要作品</a><br />
<h3 id="live">个人生活</h3>
<h3 id="zuopin">主要作品</h3>
1.9 注释标签与特殊字符
添加注释是为了更好地解释代码的功能,便于相关人员理解和阅读代码,程序是不会执行注释内容的。
<!-- 我想喝手磨咖啡 --> ctrl + /
1.10 表格标签
- 表格的作用
表格主要用于显示、展示数据,因为它可以让数据展示的非常的规律,可读性非常好。特别是后台展示数据的时候,能够熟练运用表格就显得很重要。一个清爽简约的表格能够把复杂的数据表现得很有条理。
<table>
<tr><td>姓名</td> <td>性别</td> <td> 年龄 </td></tr>
<tr><td>刘德华</td> <td>男</td> <td> 56 </td></tr>
<tr><td>张学友</td> <td>男</td> <td> 58 </td></tr>
<tr><td>郭富城</td> <td>男</td> <td> 51 </td></tr>
<tr><td>黎明</td> <td>男</td> <td> 57 </td></tr>
</table>
- 表头单元格标签
表头单元格也是单元格,常用于表格第一行,突出重要性,表格中的文字加粗居中显示。
<table>
<tr><th>姓名</th> <th>性别</th> <th> 年龄 </th></tr>
<tr><td>刘德华</td> <td>男</td> <td> 56 </td></tr>
<tr><td>张学友</td> <td>男</td> <td> 58 </td></tr>
<tr><td>郭富城</td> <td>男</td> <td> 51 </td></tr>
<tr><td>黎明</td> <td>男</td> <td> 57 </td></tr>
</table>
- 表格属性 - CSS设置即可
<!-- 这些属性要写到表格标签table 里面去 -->
<table align="center" border="1" cellpadding="0" cellspacing="0" width="500" height="249">
<tr><th>姓名</th> <th>性别</th> <th> 年龄 </th></tr>
<tr><td>刘德华</td> <td>男</td> <td> 56 </td></tr>
<tr><td>张学友</td> <td>男</td> <td> 58 </td></tr>
<tr><td>郭富城</td> <td>男</td> <td> 51 </td></tr>
<tr><td>黎明</td> <td>男</td> <td> 57 </td></tr>
</table>
<table align="center" width="500" height="249" border="1" cellspacing="0">
<thead>
<tr>
<th>排名</th>
<th>关键词</th>
<th>趋势</th>
<th>进入搜索</th>
<th>最近七日</th>
<th>相关链接</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>鬼吹灯</td>
<td><img src="down.jpg"></td>
<td>456</td>
<td>123</td>
<td> <a href="#">贴吧</a> <a href="#">图片</a> <a href="#">百科</a> </td>
</tr>
<tr>
<td>1</td>
<td>鬼吹灯</td>
<td><img src="down.jpg"></td>
<td>456</td>
<td>123</td>
<td> <a href="#">贴吧</a> <a href="#">图片</a> <a href="#">百科</a> </td>
</tr>
<tr>
<td>3</td>
<td>西游记</td>
<td><img src="up.jpg"></td>
<td>456</td>
<td>123</td>
<td> <a href="#">贴吧</a> <a href="#">图片</a> <a href="#">百科</a> </td>
</tr>
<tr>
<td>1</td>
<td>鬼吹灯</td>
<td><img src="down.jpg"></td>
<td>456</td>
<td>123</td>
<td> <a href="#">贴吧</a> <a href="#">图片</a> <a href="#">百科</a> </td>
</tr>
<tr>
<td>1</td>
<td>鬼吹灯</td>
<td><img src="down.jpg"></td>
<td>456</td>
<td>123</td>
<td> <a href="#">贴吧</a> <a href="#">图片</a> <a href="#">百科</a> </td>
</tr>
<tr>
<td>1</td>
<td>鬼吹灯</td>
<td><img src="down.jpg"></td>
<td>456</td>
<td>123</td>
<td> <a href="#">贴吧</a> <a href="#">图片</a> <a href="#">百科</a> </td>
</tr>
</tbody>
</table>
- 表格结构标签
使用场景:因为表格可能很长,为了更好的表示表格的语义,可以将表格分割成表格头部和表格主体两大部分。在表格标签中,分别用:标签表格的头部区域、标签表格的主题区域,这样可以更好的分析表格结构。
- 合并单元格
<table width="500" height="249" border="1" cellspacing="0">
<tr>
<td></td>
<td colspan="2"></td>
</tr>
<tr>
<td rowspan="2"></td>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td></td>
</tr>
</table>
1.11 列表标签
表格是用来展示数据的,那么列表就是用来展示的。
列表最大的特点就是整齐、整洁、有序,它作为布局会更加自由和方便。
根据使用情景不同,列表可以分为三大类:无序列表、有序列表和自定义列表。
- 无序列表
<ul>
<li>榴莲</li>
<li>臭豆腐</li>
<li>鲱鱼罐头</li>
<li>
<p>123</p>
</li>
</ul>
无序列表各个列表项之间没有顺序之分,是并列的;
<ul>里面允许存放<li>标签,防止其他元素是不允许的;
<li>与<li/>之间相当于一个容器,可以容纳所有元素;
- 有序列表
<ol>
<li>刘德华 10000</li>
<li>刘若英 1000</li>
<li>pink老师 1</li>
</ol>
有序列表即为有排列顺序的列表,其中各个列表项会按照一定的顺序来排列.
- 自定义列表
<dl>
<dt>关注我们</dt>
<dd>新浪微博</dd>
<dd>官方微信</dd>
<dd>联系我们</dd>
</dl>
1.12 表单标签
使用表单是为了收集用户信息;在HTML中,一个完整的表单通常由表单域、表单控件和提示信息三个部分组成。
- 表单域
表单域是指一个包含表单元素的区域;在HTML标签中,
标签用于定义表单域,以实现用户信息的收集和传递。会把它范围内的表单元素信息提交给服务器。 <form action="demo.php" method="POST" name="name1">
</form>
- 表单控件(表单元素)
在表单域中可以定义各种表单元素,这些表单元素就是允许用户在表单中输入或者选择的内容控件:
- input输入表单元素
- select下拉表单元素
- textarea文本域元素
- input输入表单元素
input标签包含一个type属性,根据不同的type属性,输入字段可以有多种形式:文本、复选框、文本控件、单选按钮、按钮等。
单选框 + name属性相同 = 只能选择一个单选项。
<form action="xxx.php" method="get">
<!-- text 文本框 用户可以里面输入任何文字 -->
用户名: <input type="text" name="username" value="请输入用户名" maxlength="6"> <br>
<!-- password 密码框 用户看不见输入的密码 -->
密码: <input type="password" name="pwd" > <br>
<!-- radio 单选按钮 可以实现多选一 -->
<!-- name 是表单元素名字 这里性别单选按钮必须有相同的名字name 才可以实现多选1 -->
<!-- 单选按钮和复选框可以设置checked 属性, 当页面打开的时候就可以默认选中这个按钮 -->
性别: 男 <input type="radio" name="sex" value="男"> 女 <input type="radio" name="sex" value="女" checked="checked"> 人妖 <input type="radio" name="sex" value="人妖"> <br>
<!-- checkbox 复选框 可以实现多选 -->
爱好: 吃饭 <input type="checkbox" name="hobby" value="吃饭"> 睡觉 <input type="checkbox" name="hobby"> 打豆豆 <input type="checkbox" name="hobby" checked="checked">
<br>
<!-- 点击了提交按钮,可以把 表单域 form 里面的表单元素 里面的值 提交给后台服务器 -->
<input type="submit" value="免费注册">
<!-- 重置按钮可以还原表单元素初始的默认状态 -->
<input type="reset" value="重新填写">
<!-- 普通按钮 button 后期结合js 搭配使用-->
<input type="button" value="获取短信验证码"> <br>
<!-- 文件域 使用场景 上传文件使用的 -->
上传头像: <input type="file" >
</form>
单选按钮和复选框需要有相同的name值;单选按钮和复选框可以设置默认选择,使用checked属性;提交常用与JS搭配使用。
- label标签
label标签为input元素定义标注(标签);
label标签用于绑定一个表单元素,当点击label标签内的文本时,浏览器就会自动将焦点(光标)转到或者选择对应的表单元素上,用来增加用户体验。for + id 的值需要相同。
<label for="text"> 用户名:</label> <input type="text" id="text" >
<input type="radio" id="nan" name="sex"> <label for="nan">男</label>
<input type="radio" id="nv" name="sex"> <label for="nv">女</label>
- select下拉表单
select至少包含一对option;option中使用selected = selected表示选中元素。
<form>
籍贯:
<select>
<option>山东</option>
<option>北京</option>
<option>天津</option>
<option selected="selected">火星</option>
</select>
</form>
- textarea文本域表单元素
使用场景:当用户输入内容较多的情况下,我们就不能使用文本框表单了,此时我们可以使用/标签。在表单元素中,/标签是用于定义多行文本输入的控件;常用于留言板,评论。
<form>
今日反馈:
<textarea cols="50" rows="5">pink老师,我知道这个反馈留言是textarea来做的 </textarea>
</form>
1.13 表单综合案例 p56-p59
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>综合案例-注册页面</title>
</head>
<body>
<h4>青春不常在,抓紧谈恋爱</h4>
<table width="600" >
<!-- 第一行 -->
<tr>
<td>性别:</td>
<td>
<input type="radio" name="sex" id="nan"> <label for="nan"> <img src="images/man.jpg" > 男 </label>
<input type="radio" name="sex" id="nv"> <label for="nv"><img src="images/women.jpg" > 女</label>
</td>
</tr>
<!-- 第二行 -->
<tr>
<td>生日:</td>
<td>
<select>
<option>--请选择年份--</option>
<option>2001</option>
<option>2002</option>
<option>2003</option>
</select>
<select>
<option>--请选择月份--</option>
<option>1</option>
<option>2</option>
<option>3</option>
</select>
<select>
<option>--请选择日--</option>
<option>1</option>
<option>2</option>
<option>3</option>
</select>
</td>
</tr>
<!-- 第三行 -->
<tr>
<td>所在地区</td>
<td><input type="text" value="北京思密达"></td>
</tr>
<!-- 第四行 -->
<tr>
<td>婚姻状况:</td>
<td>
<input type="radio" name="marry" checked="checked">未婚 <input type="radio" name="marry"> 已婚 <input type="radio" name="marry"> 离婚
</td>
</tr>
<!-- 第五行 -->
<tr>
<td>学历:</td>
<td><input type="text" value="博士后"></td>
</tr>
<!-- 第六行 -->
<tr>
<td>喜欢的类型:</td>
<td>
<input type="checkbox" name="love" > 妩媚的
<input type="checkbox" name="love" > 可爱的
<input type="checkbox" name="love" > 小鲜肉
<input type="checkbox" name="love" > 老腊肉
<input type="checkbox" name="love" checked="checked"> 都喜欢
</td>
</tr>
<!-- 第七行 -->
<tr>
<td>个人介绍</td>
<td>
<textarea>个人简介</textarea>
</td>
</tr>
<!-- 第八行 -->
<tr>
<td></td>
<td>
<input type="submit" value="免费注册" >
</td>
</tr>
<tr>
<td></td>
<td>
<input type="checkbox" checked="checked"> 我同意注册条款和会员加入标准
</td>
</tr>
<tr>
<td></td>
<td>
<a href="#" > 我是会员,立即登录</a>
</td>
</tr>
<tr>
<td></td>
<td>
<h5>我承诺</h5>
<ul>
<li>年满18岁、单身</li>
<li>抱着严肃的态度</li>
<li>真诚寻找另一半</li>
</ul>
</td>
</tr>
</table>
</body>
</html>
1.14 学会查阅文档
查阅文档是一个非常好的学习方法:W3Cschool、MDN开发者权威网站中搜查。