前言
HTML(全称为“超文本标记语言”)是一种用于创建Web页面的标记语言。它是Web开发的基础,允许开发者定义页面的结构、内容和样式。HTML使用一些标记或“标签”来描述文本和媒体内容的结构和格式,这些标签可以指示网页浏览器如何显示内容,包括标题、段落、列表、超链接、图像、音频、视频等等。HTML还可以与其他Web技术(如CSS和JavaScript)结合使用,以实现更复杂和交互性的Web应用程序。这篇文章只是介绍HTML的基础标签的使用。
HTML是什么
HTML是HyperText Markup Language的简写,表示超文本标记语言
HTML并不是一个种编程语言,而是一种标签语言
HTML的文档也叫web页面
HTML使用标记标签来描述网页
HTML文档由HTML标签构成,每个标签可以包含一些内容或其他标签,这些标签可以帮助浏览器解析文档内容并显示出来。例如,<html>标签表示整个HTML文档,<head>标签包含文档的元数据(如标题和引用的样式表),而<body>标签包含实际的页面内容。
HTML标签可以包含一些属性,这些属性可以提供有关标签的更多信息。例如,<img>标签可以使用src属性指定图像的URL,<a>标签可以使用href属性指定链接的URL。
接下来将详细了解具体的标签使用。
HTML结构
认识HTML标签
HTML代码是由标签组成的
<body>hello world </body>
<body> </body>就是一对完整的标签,一对标签需要一个起始标签和一个结束标签,结束标签开头是一个 / 来表示这对标签的结束,例如:</body>。
在开始标签和结束标签之中的内容,就是这个标签需要具体展示的内容 hello world。
大多数标签都是上述这种双标签的结构,只有少数标签是单标签,单标签后面会介绍。
我们还可以给这个标签设置一个唯一的id,id相当于给这个标签设置一个唯一的身份标识。
<body id = "my_id"> hello world </body>
注意:id是在开始标签中进行设置的。
<html >
<head>
<title>第一个页面</title>
</head>
<body>
hello world
</body>
</html>
html标签是整个html文档的最顶层标签/根标签
head标签则是写这个html文档的属性的标签
title标签则是显示这个文档的标题标签
body标签中的内容则是需要显示在页面上的内容
标签的层次结构
父子关系
在上述代码中html标签就是所有标签的父标签,head标签是title标签的父标签
兄弟关系
head标签和body标签就是兄弟关系。
html
/ \
head body
快速生成代码框架
在vscode中,新建一个html文件后,在文件顶部输入一个 !之后,按回车,就会生成html的代码框架。
或者新建文件之后,在文件顶部输入 html:5 之后,按回车,也能生成html代码框架。
细节解释:
<!DOCTYPE html> 称为 DTD (文档类型定义), 描述当前的文件是一个 HTML5 的文件。
<html lang="en"> 其中 lang 属性表示当前页面是一个 "英语页面". 这里暂时不用管. (有些浏览器会根据此处的声明提示是否进行自动翻译)。
<meta charset="UTF-8"> 描述页面的字符编码方式. 没有这一行可能会导致中文乱码。
<meta name="viewport" content="width=device-width, initial-scale=1.0">name="viewport" 其中 viewport 指的是设备的屏幕上能用来显示我们的网页的那一块区域,content="width=device-width, initial-scale=1.0" 在设置可视区和设备宽度等宽, 并设置初始缩放为不缩放. (这个属性对于移动端开发更重要一些)。
HTML常见标签
注释标签 <!-- -->
注释是所有语言中一个必不可少的东西,在html中同样使用。
html的注释不会显示在页面上,目的就是为了提高代码的可读性。
<!-- -->
<body>
hello world <!-- 我是注释 -->
</body>
按照Ctrl+/可以快速生成注释和取消注释。
注释的原则:
- 要和代码逻辑保持一致。
- 尽量使用中文
- 文明注释
标题标签 h1-h6
h1-h6
共有6个,数字越大,则字体越小。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<h1>标题标签</h1>
<h2>标题标签</h2>
<h3>标题标签</h3>
<h4>标题标签</h4>
<h5>标题标签</h5>
<h6>标题标签</h6>
</body>
</html>
段落标签 <p> </p>
在html中输入换行之后不会真的换行,而是产生一个空格。
在html中输入多个空格之后,在网页上显示的时候不会有多个空格,而是只有一个空格。
在html中,如果需要有一段特别长的文字,但是这段文字在网页上显示的时候并没有产生段落,而是全在一起。这样可读性就会很差。
我们使用段落标签就会解决上述问题:<p> </p>
我们可以在需要产生段落的地方添加<p></p> 是内容产生段落。
产生段落之后,上面的段落和下面的段落之后有很大的空隙。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
Undertale是一款自2015年九月steam发售之日就开始发售的单机游戏由toby fox创作备<p></p>受好评它讲述了一个人类的故事,他从山上摔下来进入一个地底世界他在这里穿过积雪覆盖的田野神秘的地下瀑布热域,最后把他送到国王的城堡一路上她遇到了各种住在地下的怪物<p></p>当你玩这个游戏的时候,你可以和热情的骷髅充满爱心的废墟守护者甚至是怪兽之王交朋友,你可以选择做一个天使一个引领怪物自由的天使或者一个摧毁地下国王的恶魔一切都取决于你<p></p>这个世界完全不同于我们的世界,在这个世界里没有什么可担心的也没有什么可害怕的,也许从来就没有一个人被遗忘,但被遗忘的故事已经和我们铭记当我们遇到困难时他给了我们希望和梦想,这也许就是问题的所在
</body>
</html>
换行标签 <br>
br是break的缩写,表示换行。
<br>是一个单标签。
使用<br>换行之后,不会想段落标签那样产生很大的空隙。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
Undertale是一款自2015年九月steam发售之日就开始发售的单机游戏<br>由toby fox创作受好评<p></p>它讲述了一个人类的故事,他从山上摔下来进入一个地底世界他在这里穿过积雪覆盖的田<br>野神秘的地下瀑布热域,最后把他送到国王的城堡一路上她遇到了各种住在地下的怪物<p></p>当你玩这个游戏的时候,你可以和热情的骷髅充满爱心的废墟守护者甚至是怪兽之王交朋<br>友,你可以选择做一个天使一个引领怪物自由的天使或者一个摧毁地下国王的恶魔一切<br>都取决于你<p></p>这个世界完全不同于我们的世界,在这个世界里没有什么可担心的也没有什么可害怕的,<br>也许从来就没有一个人被遗忘,但被遗忘的故事已经和我们铭记当我们遇到困难时他给了<br>我们希望和梦想,这也许就是问题的所在。
</body>
</html>
格式化标签
- 加粗 strong 标签 和 b 标签
- 倾斜 em 标签 和 i 标签
- 删除线 del 标签 和 s 标签
- 下划线 ins 标签 和 u 标签
-
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head> <body> <Strong>加粗</Strong> <b>加粗</b> <em>倾斜</em> <i>倾斜</i> <del>删除线</del> <s>删除线</s> <ins>下划线</ins> <u>下划线</u> </body> </html>
-
图片标签 img
img标签必须带有sec的属性,表示这个图片的路径。
相对路径 绝对路径
-
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head> <body> 相对路径 <img src="OIP.png" width="200px" height="200px" > <p></p> 绝对路径 <img src="C:\Users\Administrator\Desktop\OIP.png" width="200px" height="200px"> </body> </html>
-
alt: 替换文本. 当图片不能正确显示的时候, 会显示一个替换的文字.
title: 提示文本. 鼠标放到图片上, 就会有提示.
width/height: 控制宽度高度. 高度和宽度一般改一个就行, 另外一个会等比例缩放. 否则就会图片
失衡.width="200px" height="200px" 设置图片的宽度和高度
除了使用绝对路径和相对路径这两种图片的方式之外,还可以使用网络上的图片,前提是网络通畅,还要有网络上这个图片的地址。
例如:我们打开百度的首页,在百度的logo上右击鼠标,我们选择复制图片地址。此时我们就拿到了网络上这个图片的地址。
-
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head> <body> 相对路径 <img src="OIP.png" width="200px" height="200px" > <p></p> 绝对路径 <img src="C:\Users\Administrator\Desktop\OIP.png" width="200px" height="200px"> <p></p> 网络上的图片 <img src="https://www.baidu.com/img/PCtm_d9c8750bed0b3c7d089fa7d55720d6cf.png" alt="" title="这是百度的图片"> </body> </html>
-
超链接标签 a
-
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head> <body> <a href="https://www.baidu.com">点击进入百度</a> </body> </html>
href是必须要有的,表示点击后跳转到那个页面。
-
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head> <body> <a href="https://www.baidu.com" target="_blank">点击进入百度</a> </body> </html>
target表示用新的标签页打开。如果上述的默认,则是在当前标签页打开。
外部链接
外部链接表示此链接是引用外部网站的链接。
-
内部链接
网页内部页面之间的链接,可以直接写相对路径。
我们在当前html1文件的同一个目录下再创建一个html2文件,然后在html2文件里面就可以写其他的网页,当我们点击这个内部之间的链接时,就会跳转到html2.html这个网页上。
-
空链接
使用#在href中占位
-
下载链接
href中写的路径是一个文件,点击就可以进行下载这个文件,(文件可以是zip格式)。
当我们点击下载的时候,浏览器就会自动下载这个文件。
-
网页元素链接
可以给图片等任何元素添加链接,当我们点击这个图片时,就会跳转到我们href中所写的地址上去。
-
描点链接
我们可以给标签给具体的id值,然后在href中填入对应的id的值,就可以进行描点链接跳转。
-
表格标签
table 标签: 表示整个表格
tr: 表示表格的一行
td: 表示一个单元格
th: 表示表头单元格. 会居中加粗
thead: 表格的头部区域(注意和 th 区分, 范围是比 th 要大的)
tbody: 表格得到主体区域.
table 包含 tr , tr 包含 td。 -
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head> <body> <table border="1" width ="400px" hight="200px"> <thead> <!-- 表头标签--> <th>姓名</th> <!-- 表头的单元格 会居中加粗--> <th>年龄</th> <th>性别</th> </thead> <tbody> <!-- 表格的主体区域--> <tr> <!-- 表示表格的每一行--> <td>张三</td> <!-- 表示表格每个单元格--> <td>18</td> <td>男</td> </tr> <tr> <!-- 表示表格的每一行--> <td>李四</td> <!-- 表示表格每个单元格--> <td>19</td> <td>男</td> </tr> <tr> <!-- 表示表格的每一行--> <td>王五</td> <!-- 表示表格每个单元格--> <td>20</td> <td>男</td> </tr> </tbody> </table> </body> </html>
-
合并单元格
跨行合并
先群定要合并的单元格,然后需要在合并之前删除多余的单元格
-
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head> <body> <table border="1" width ="400px" hight="200px"> <thead> <!-- 表头标签--> <th>姓名</th> <!-- 表头的单元格 会居中加粗--> <th>年龄</th> <th>性别</th> </thead> <tbody> <!-- 表格的主体区域--> <tr> <!-- 表示表格的每一行--> <td>张三</td> <!-- 表示表格每个单元格--> <td>18</td> <td>男</td> </tr> <tr> <!-- 表示表格的每一行--> <td>李四</td> <!-- 表示表格每个单元格--> <td rowspan="2">19</td> <td>男</td> </tr> <tr> <!-- 表示表格的每一行--> <td>王五</td> <!-- 表示表格每个单元格--> <td>男</td> </tr> </tbody> </table> </body> </html>
-
跨列合并
-
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head> <body> <table border="1" width ="400px" hight="200px"> <thead> <!-- 表头标签--> <th>姓名</th> <!-- 表头的单元格 会居中加粗--> <th>年龄</th> <th>性别</th> </thead> <tbody> <!-- 表格的主体区域--> <tr> <!-- 表示表格的每一行--> <td colspan="2">张三</td> <!-- 表示表格每个单元格--> <!-- 跨列合并--> <td>男</td> </tr> <tr> <!-- 表示表格的每一行--> <td>李四</td> <!-- 表示表格每个单元格--> <td rowspan="2">19</td> <!-- 跨行合并--> <td>男</td> </tr> <tr> <!-- 表示表格的每一行--> <td>王五</td> <!-- 表示表格每个单元格--> <td>男</td> </tr> </tbody> </table> </body> </html>
-
列表标签
无序列表 ul li
有序列表 ol li
自定义列表 dl (总标签) dt (小标题) dd (围绕标题来说明) 上面有个小标题, 下面有几个围绕
着标题来展开的。<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head> <body> <h3>无序列表</h3> <ul> <li>天暗星</li> <li>天罡星</li> <li>天罪星</li> </ul> </body> </html>
-
有序列表
-
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head> <body> <h3>有序列表</h3> <ol> <li>天暗星</li> <li>天罡星</li> <li>天罪星</li> </ol> </body> </html>
-
自定义列表
-
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head> <body> <h3>自定义列表</h3> <dl> <dt>不良人</dt> <dd>天暗星</dd> <dd>天罡星</dd> <dd>天罪星</dd> </dl> </body> </html>
-
form标签
描述了把数据以怎样的方式提交到那个地方。
<form action="https://www.baidu.com" method="get"> <!-- form 中的数据--> </form>
input标签
-
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head> <body> <form action="https://www.baidu.com" method="get"> <!-- form 中的数据--> 姓名:<input type="text"><br> <!-- 文本框--> 密码:<input type="password"><br> <!-- 密码框--> 性别:<input type="radio" name="sex" value="男">男 <!-- 单选框--> <input type="radio" name="sex" value="女">女 <input type="radio" name="sex" value="第三性别">第三性别<br> 爱好:<input type="checkbox">听音乐 <!-- 复选框--> <input type="checkbox">看电视 <input type="checkbox">打羽毛球 <br> 头像:<input type="file"> <br> <!-- 选择文件标签--> 日期:<input type="date"> <!-- 日期--> 颜色:<input type="color"> <!--颜色--> 提交:<input type="submit"> <!-- 提交按钮--> </form> </body> </html>
-
select标签
-
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head> <body> <form action="https://www.baidu.com" method="get"> <!-- form 中的数据--> 姓名:<input type="text"><br> <!-- 文本框--> 密码:<input type="password"><br> <!-- 密码框--> 性别:<input type="radio" name="sex" value="男">男 <!-- 单选框--> <input type="radio" name="sex" value="女">女 <input type="radio" name="sex" value="第三性别">第三性别<br> 大学:<select> <!-- 下拉菜单标签--> <option>北京大学</option> <!-- 第一个就是默认选项--> <option>清华大学</option> <option>陇南大学</option> <option>兰州大学</option> </select> <br> 爱好:<input type="checkbox">听音乐 <!-- 复选框--> <input type="checkbox">看电视 <input type="checkbox">打羽毛球 <br> 头像:<input type="file"> <br> <!-- 选择文件标签--> 日期:<input type="date"> <!-- 日期--> 颜色:<input type="color"> <!--颜色--> 提交:<input type="submit"> <!-- 提交按钮--> </form> </body> </html>
-
textarea 标签
-
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head> <body> <form action="https://www.baidu.com" method="get"> <!-- form 中的数据--> 姓名:<input type="text"><br> <!-- 文本框--> 密码:<input type="password"><br> <!-- 密码框--> 性别:<input type="radio" name="sex" value="男">男 <!-- 单选框--> <input type="radio" name="sex" value="女">女 <input type="radio" name="sex" value="第三性别">第三性别<br> 大学:<select> <!-- 下拉菜单标签--> <option>北京大学</option> <!-- 第一个就是默认选项--> <option>清华大学</option> <option>陇南大学</option> <option>兰州大学</option> </select> <br> 爱好:<input type="checkbox">听音乐 <!-- 复选框--> <input type="checkbox">看电视 <input type="checkbox">打羽毛球 <br> 头像:<input type="file"> <br> <!-- 选择文件标签--> 日期:<input type="date"> <!-- 日期--> 颜色:<input type="color"> <!--颜色--> 备注:<textarea cols="50" rows="5"></textarea><br> 提交:<input type="submit"> <!-- 提交按钮--> </form> </body> </html>
-
无语义标签 div span
就是两个盒子. 用于网页布局
div 是独占一行的, 是一个大盒子.
span 不独占一行, 是一个小盒子 -
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head> <body> <div> <span>天暗星</span> <span>天暗星</span> <span>天暗星</span> </div> <div> <span>天罡星</span> <span>天罡星</span> <span>天罡星</span> </div> <div> <span>天罪星</span> <span>天罪星</span> <span>天罪星</span> </div> </body> </html>