HTML 代码是由 “标签” 构成的.
形如:
<body>hellobody>
<html>
<head>
<title>
第一个页面
title>
head>
<body>
hello world
body>
html>
<html>
<head>
<title>
第一个页面
title>
head>
<body>
hello world
body>
html>

其中:
这就是一个 DOM 树,DOM => 文档对象模型。
把一个 html 文件视为是文档,文档里面有很多的 “标签”。
每个标签也可以称为是一个 “元素”,同时每个元素也对应到一个 “对象”。
在 IDEA 中创建文件 xxx.html , 直接输入 ! , 按 tab 键, 此时能自动生成代码的主体框架.
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>Documenttitle>
head>
<body>
body>
html>
不参与实际界面的显示,但是起到解释说明的效果。(提高代码的可读性)
ctrl + / 快捷键可以快速进行注释/取消注释.
注释的原则
从 h1 - h6. 数字越大, 则字体越小。
<h1>这是一个标题h1>
<h1>helloh1>
<h2>helloh2>
<h3>helloh3>
<h4>helloh4>
<h5>helloh5>
<h6>helloh6>
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>Documenttitle>
head>
<body>
<p>这是一个段落 Lorem ipsum dolor sit amet consectetur adipisicing elit. Cum, ipsa praesentium. Exercitationem totam at quibusdam blanditiis. Molestias modi magnam vel animi, ipsum ducimus doloribus corrupti nulla explicabo maxime sint quae.p>
<p>这也是一个段落Lorem ipsum dolor sit amet consectetur adipisicing elit. Voluptatum natus debitis ipsa pariatur repellat praesentium? Corporis repellat ducimus eum nihil sapiente? Praesentium sint dignissimos, autem nemo maiores iure facere harum?p>
<p>这也是一个段落Lorem ipsum dolor sit amet consectetur adipisicing elit. Voluptatum natus debitis ipsa pariatur repellat praesentium? Corporis repellat ducimus eum nihil sapiente? Praesentium sint dignissimos, autem nemo maiores iure facere harum?p>
<p>这也是一个段落Lorem ipsum dolor sit amet consectetur adipisicing elit. Voluptatum natus debitis ipsa pariatur repellat praesentium? Corporis repellat ducimus eum nihil sapiente? Praesentium sint dignissimos, autem nemo maiores iure facere harum?p>
<p>这也是一个段落Lorem ipsum dolor sit amet consectetur adipisicing elit. Voluptatum natus debitis ipsa pariatur repellat praesentium? Corporis repellat ducimus eum nihil sapiente? Praesentium sint dignissimos, autem nemo maiores iure facere harum?p>
<p>这也是一个段落Lorem ipsum dolor sit amet consectetur adipisicing elit. Voluptatum natus debitis ipsa pariatur repellat praesentium? Corporis repellat ducimus eum nihil sapiente? Praesentium sint dignissimos, autem nemo maiores iure facere harum?p>
body>
html>

html 中 直接输入换行 或者 输入 “\n” 不会真的换行, 而是相当于一个空格 或者 在文中加入 “\n”
在 html 中,br 是 break 的缩写. 表示换行。
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>Documenttitle>
head>
<body>
<p>这是一个段落 Lorem ipsum dolor <br/> amet consectetur adipisicing elit. Cum, ipsa praesentium. Exercitationem totam at quibusdam blanditiis. Molestias modi magnam vel animi, ipsum ducimus doloribus corrupti nulla explicabo maxime sint quae.p>
<p>这也是一个段落Lorem ipsum dolor sit amet consectetur adipisicing elit. Voluptatum natus debitis ipsa pariatur repellat praesentium? Corporis repellat ducimus eum nihil sapiente? Praesentium sint dignissimos, autem nemo maiores iure facere harum?p>
<p>这也是一个段落Lorem ipsum dolor sit amet consectetur adipisicing elit. Voluptatum natus debitis ipsa pariatur repellat praesentium? Corporis repellat ducimus eum nihil sapiente? Praesentium sint dignissimos, autem nemo maiores iure facere harum?p>
<p>这也是一个段落Lorem ipsum dolor sit amet consectetur adipisicing elit. Voluptatum natus debitis ipsa pariatur repellat praesentium? Corporis repellat ducimus eum nihil sapiente? Praesentium sint dignissimos, autem nemo maiores iure facere harum?p>
<p>这也是一个段落Lorem ipsum dolor sit amet consectetur adipisicing elit. Voluptatum natus debitis ipsa pariatur repellat praesentium? Corporis repellat ducimus eum nihil sapiente? Praesentium sint dignissimos, autem nemo maiores iure facere harum?p>
<p>这也是一个段落Lorem ipsum dolor sit amet consectetur adipisicing elit. Voluptatum natus debitis ipsa pariatur repellat praesentium? Corporis repellat ducimus eum nihil sapiente? Praesentium sint dignissimos, autem nemo maiores iure facere harum?p>
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>Documenttitle>
head>
<body>
<strong>加粗1strong>
<b>加粗2b>
<em>倾斜1em>
<i>倾斜2i>
<del>删除线1del>
<s>删除线2s>
<ins>下划线1ins>
<u>下划线2u>
body>
html>

img 是非常常用的标签,效果就是在页面上显示出图片!
此时要把 rose.jpg 这个图片文件放到和 html 中的同级目录中.
<img src=""
alt=""
title=""
width=""
height=""
border="">
img 标签的属性:
img 的 src 不仅支持相对路径,也支持绝对路径。
以 当前工作目录 所在位置为基准, 找到图片的位置。
同级路径:
<img src="rose.jpg" alt="">
下一级路径:
<img src="imger/rose.jpg" alt="">
上一级路径:
<img src="../rose.jpg" alt="">
一个完整的磁盘路径, 或者网络路径。
磁盘路径:虽然可行,但是一般不建议;html 要能够在多个电脑上都能运行,发给别人,别人不一定有这个照片并且 和 该路径存放的路径一样。
<img src="D:/rose.jpg" alt="">
网络路径:更常见的写法
<img src="https://bkimg.cdn.bcebos.com/pic/aa18972bd40735fae6cd6a31260518b30f2443a7a2a5" alt="">
链接(Link)和连接(Connection)不是一回事!
链接类似于快捷方式,通过链接,就可以找到我们想找到的那个实体。
超链接:跳转范围很大,既可以跳转到当前页面中的某个片段,还可以跳转到其他页面的某个地方。点击超链接(a 标签)就可以跳转到目的页面。
<a href="https://www.sogou.com" target="_blank">这是一个超链接a>
<a href="https://www.sogou.com">这是一个超链接a>
<a href="1.html">跳转到 1.htmla>
<a href="hello.html">跳转到 hello.htmla>
<a href="2.zip">下载2.zipa>
<a href="#">空链接a>
<a href="http://www.sogou.com">
<img src="rose.jpg" alt="">
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>Documenttitle>
head>
<body>
<a href="#one">第一集a>
<a href="#two">第二集a>
<a href="#three">第三集a>
<p id="one">
第一集剧情 <br>
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Recusandae est laborum ad at. Aspernatur aliquid quidem accusamus, aperiam cupiditate eligendi eos saepe, doloremque repudiandae quas omnis sed aliquam, quisquam natus.<br>
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Recusandae est laborum ad at. Aspernatur aliquid quidem accusamus, aperiam cupiditate eligendi eos saepe, doloremque repudiandae quas omnis sed aliquam, quisquam natus.<br>
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Recusandae est laborum ad at. Aspernatur aliquid quidem accusamus, aperiam cupiditate eligendi eos saepe, doloremque repudiandae quas omnis sed aliquam, quisquam natus.<br>
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Recusandae est laborum ad at. Aspernatur aliquid quidem accusamus, aperiam cupiditate eligendi eos saepe, doloremque repudiandae quas omnis sed aliquam, quisquam natus.<br>
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Recusandae est laborum ad at. Aspernatur aliquid quidem accusamus, aperiam cupiditate eligendi eos saepe, doloremque repudiandae quas omnis sed aliquam, quisquam natus.<br>
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Recusandae est laborum ad at. Aspernatur aliquid quidem accusamus, aperiam cupiditate eligendi eos saepe, doloremque repudiandae quas omnis sed aliquam, quisquam natus.<br>
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Recusandae est laborum ad at. Aspernatur aliquid quidem accusamus, aperiam cupiditate eligendi eos saepe, doloremque repudiandae quas omnis sed aliquam, quisquam natus.<br>
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Recusandae est laborum ad at. Aspernatur aliquid quidem accusamus, aperiam cupiditate eligendi eos saepe, doloremque repudiandae quas omnis sed aliquam, quisquam natus.<br>
...
p>
<p id="two">
第二集剧情 <br>
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Recusandae est laborum ad at. Aspernatur aliquid quidem accusamus, aperiam cupiditate eligendi eos saepe, doloremque repudiandae quas omnis sed aliquam, quisquam natus.<br>
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Recusandae est laborum ad at. Aspernatur aliquid quidem accusamus, aperiam cupiditate eligendi eos saepe, doloremque repudiandae quas omnis sed aliquam, quisquam natus.<br>
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Recusandae est laborum ad at. Aspernatur aliquid quidem accusamus, aperiam cupiditate eligendi eos saepe, doloremque repudiandae quas omnis sed aliquam, quisquam natus.<br>
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Recusandae est laborum ad at. Aspernatur aliquid quidem accusamus, aperiam cupiditate eligendi eos saepe, doloremque repudiandae quas omnis sed aliquam, quisquam natus.<br>
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Recusandae est laborum ad at. Aspernatur aliquid quidem accusamus, aperiam cupiditate eligendi eos saepe, doloremque repudiandae quas omnis sed aliquam, quisquam natus.<br>
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Recusandae est laborum ad at. Aspernatur aliquid quidem accusamus, aperiam cupiditate eligendi eos saepe, doloremque repudiandae quas omnis sed aliquam, quisquam natus.<br>
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Recusandae est laborum ad at. Aspernatur aliquid quidem accusamus, aperiam cupiditate eligendi eos saepe, doloremque repudiandae quas omnis sed aliquam, quisquam natus.<br>
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Recusandae est laborum ad at. Aspernatur aliquid quidem accusamus, aperiam cupiditate eligendi eos saepe, doloremque repudiandae quas omnis sed aliquam, quisquam natus.<br>
...
p>
<p id="three">
第三集剧情 <br>
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Recusandae est laborum ad at. Aspernatur aliquid quidem accusamus, aperiam cupiditate eligendi eos saepe, doloremque repudiandae quas omnis sed aliquam, quisquam natus.<br>
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Recusandae est laborum ad at. Aspernatur aliquid quidem accusamus, aperiam cupiditate eligendi eos saepe, doloremque repudiandae quas omnis sed aliquam, quisquam natus.<br>
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Recusandae est laborum ad at. Aspernatur aliquid quidem accusamus, aperiam cupiditate eligendi eos saepe, doloremque repudiandae quas omnis sed aliquam, quisquam natus.<br>
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Recusandae est laborum ad at. Aspernatur aliquid quidem accusamus, aperiam cupiditate eligendi eos saepe, doloremque repudiandae quas omnis sed aliquam, quisquam natus.<br>
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Recusandae est laborum ad at. Aspernatur aliquid quidem accusamus, aperiam cupiditate eligendi eos saepe, doloremque repudiandae quas omnis sed aliquam, quisquam natus.<br>
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Recusandae est laborum ad at. Aspernatur aliquid quidem accusamus, aperiam cupiditate eligendi eos saepe, doloremque repudiandae quas omnis sed aliquam, quisquam natus.<br>
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Recusandae est laborum ad at. Aspernatur aliquid quidem accusamus, aperiam cupiditate eligendi eos saepe, doloremque repudiandae quas omnis sed aliquam, quisquam natus.<br>
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Recusandae est laborum ad at. Aspernatur aliquid quidem accusamus, aperiam cupiditate eligendi eos saepe, doloremque repudiandae quas omnis sed aliquam, quisquam natus.<br>
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Recusandae est laborum ad at. Aspernatur aliquid quidem accusamus, aperiam cupiditate eligendi eos saepe, doloremque repudiandae quas omnis sed aliquam, quisquam natus.<br>
...
p>
body>
html>
table 包含 tr , tr 包含 td 或者 th.
表格标签有一些属性, 可以用于设置大小边框等. 但是一般使用 CSS 方式来设置.
这些属性都要放到 table 标签中.
- align 是表格相对于周围元素的对齐方式. align=“center” (不是内部元素的对齐方式)
- border 表示边框. 1 表示有边框(数字越大, 边框越粗), “” 表示没边框.
- cellpadding: 内容距离边框的距离, 默认 1 像素
- cellspacing: 单元格之间的距离. 默认为 2 像素
- width / height: 设置尺寸.
注意, 这几个属性, vscode 都提示不出来.
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>Documenttitle>
head>
<body>
<style>
/* 这就是 CSS 代码,这个代码的意思就是 所有的 td 标签里的文本都是水平居中对齐的 */
td {
text-align: center;
}
style>
<table align="center" border="1px" cellpadding="20" cellspacing="0" width="500px" height="300px">
<tr>
<th>姓名th>
<th>性别th>
<th>电话th>
tr>
<tr>
<td>张三td>
<td>男td>
<td>110td>
tr>
<tr>
<td>李四td>
<td>女td>
<td>119td>
tr>
<tr>
<td>王五td>
<td>男td>
<td>120td>
tr>
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>Documenttitle>
head>
<body>
<ol>
<li>咬人猫li>
<li>兔总裁li>
<li>阿叶君li>
<li>咝小喵li>
ol>
<ul>
<li>咬人猫li>
<li>兔总裁li>
<li>阿叶君li>
<li>咝小喵li>
ul>
body>
html>

在页面上填写信息并提交,这个操作就是通过 表单标签 来实现的。
form 的功能是进行前后端交互。
描述了提交给谁,如何提交等交互细节。
我们会在后边学习 js 时讲到!
input 标签有很多的形态,对应了不同的输入方式。
又叫单行输入,不能换行。
<input type="text">

<input type="password">

<input type="radio" name="sex">男
<input type="radio" name="sex">女

注意: 单选框之间必须具备相同的 name 属性, 才能实现 多选一 效果。
改良版:
<input type="radio" name="sex" id="male"> <label for="male">男label>
<input type="radio" name="sex" id="female" checked="checked"> <label for="female">女label>
<input type="checkbox">吃饭
<input type="checkbox">睡觉
<input type="checkbox" checked="checked">打游戏

<input type="button" value="这是一个按钮">

提交按钮,能够触发表单提交。
需要搭配 form 来使用。
清空按钮,能够清空表单。
需要搭配 form 来使用。
文件选择器:允许用户选择一个本地的文件,进一步的可以上传到服务器上。
<input type="file">

搭配 input 使用. 点击 label 也能选中对应的单选/复选框, 能够提升用户体验.
<label for="male">男label> <input id="male" type="radio" name="sex">
<select>
<option>北京option>
<option>上海option>
<option>深圳option>
<option selected="selected">广州option>
<option>杭州option>
select>

<textarea name="" id="" cols="30" rows="10">textarea>

div 标签, division 的缩写, 含义是 分割
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>个人简历title>
head>
<body>
<h1>XXX的简历h1>
<h2>基本信息h2>
<img src="imger/rose.jpg" alt="照片" width="200px" height="300px">
<p>应聘岗位: Java 开发工程师p>
<p>联系电话: 110p>
<p>邮箱: 123@qq.comp>
<div>
<a href="https://github.com">我的 GitHuba>
div>
<div>
<a href="https://www.csdn.net/">我的博客a>
div>
<h2>教育背景h2>
<ol>
<li>1990-1996 小葵花幼儿园li>
<li>1996-2002 小葵花小学li>
<li>2002-2005 小葵花中学li>
<li>2005-2008 小葵花高中li>
<li>2008-2012 小葵花大学li>
ol>
<h2>专业技能h2>
<ul>
<li>熟练掌握 Java 的基本语法, 熟悉面向对象程序设计.li>
<li>熟悉常用的数据结构, 例如 顺序表, 链表, 二叉树, 栈, 队列, 哈希表等.li>
<li>熟练掌握 MySQL 数据库, 可以使用 SQL 语句完成基本的增删改查.li>
<li>熟悉进程和线程的基本概念, 熟练掌握多线程编程, 理解线程安全的相关问题和解决方案.li>
<li>熟悉网络原理和网络编程, 尤其是对于 TCP/IP/HTTP 等重要协议有所理解.li>
ul>
<h2>项目经历h2>
<ol>
<li>
<h3>留言墙h3>
<p>开发时间: 2022 年 01 月 01 日 ~ 2022 年 09 月 09 日p>
<p>功能介绍: p>
<ul>
<li>支持留言发布li>
<li>支持匿名留言li>
ul>
li>
<li>
<h3>学习小助手h3>
<p>开发时间: 2022 年 01 月 01 日 ~ 2022 年 09 月 09 日p>
<p>功能介绍: p>
<ul>
<li>支持错题检索li>
<li>支持同学讨论li>
ul>
li>
ol>
<h2>个人评价h2>
<p>
在校期间, 学习认真努力, 多次获得奖学金.
p>
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>个人简历title>
head>
<body>
<h1>请填写简历信息h1>
<table width="500px">
<tr>
<td>姓名td>
<td>
<input type="text">
td>
tr>
<tr>
<td>性别td>
<td>
<input type="radio" name="gender"> <img src="imger/male.png" width="15px"> 男
<input type="radio" name="gender"> <img src="imger/female.png" width="15px"> 女
td>
tr>
<tr>
<td>出生日期td>
<td>
<select>
<option selected="selected">--请选择年份--option>
<option>1995option>
<option>1996option>
<option>1997option>
<option>1998option>
<option>1999option>
<option>2000option>
select>
<select>
<option selected="selected">--请选择月份--option>
<option>1option>
<option>2option>
<option>3option>
<option>4option>
<option>5option>
<option>6option>
<option>7option>
<option>8option>
<option>9option>
<option>10option>
<option>11option>
<option>12option>
select>
<select>
<option selected="selected">--请选择日期--option>
<option>1option>
<option>2option>
<option>3option>
<option>4option>
<option>5option>
<option>6option>
<option>7option>
<option>8option>
<option>9option>
<option>10option>
<option>11option>
<option>12option>
<option>13option>
<option>14option>
<option>14option>
<option>15option>
<option>16option>
<option>17option>
<option>18option>
<option>19option>
<option>20option>
<option>21option>
<option>22option>
<option>23option>
<option>24option>
<option>25option>
<option>26option>
<option>27option>
<option>28option>
<option>29option>
<option>30option>
<option>31option>
select>
td>
tr>
<tr>
<td>就读学校td>
<td>
<input type="text">
td>
tr>
<tr>
<td>应聘岗位td>
<td>
<input type="checkbox"> 前端开发
<input type="checkbox"> 后端开发
<input type="checkbox"> 测试开发
<input type="checkbox"> 运维开发
td>
tr>
<tr>
<td>掌握的技能td>
<td>
<textarea cols="30" rows="10">textarea>
td>
tr>
<tr>
<td>项目经历td>
<td>
<textarea cols="30" rows="10">textarea>
td>
tr>
<tr>
<td>td>
<td>
<input type="checkbox"> 我已阅读了公司的招聘要求
td>
tr>
<tr>
<td>td>
<td>
<a href="#">查看我的状态a>
td>
tr>
<tr>
<td>td>
<td>
<h3>请应聘者确认: h3>
<ul>
<li>以上信息真实有效li>
<li>能够尽早去公司实习li>
<li>能够接受公司加班文化li>
ul>
td>
tr>
table>
body>
html>

input[tab]
div*3[tab]
div#sex[tab]
div.sex[tab]
ul>li*3[tab]
span+span
div{hello}
div{$.hello}
有些特殊的字符在 html 文件中是不能直接表示的, 例如:
html 标签就是用 < > 表示的. 因此内容里如果存在 < > , 就会发生混淆.