什么是HTML?
HTML标签 HTML 标记标签通常被称为 HTML 标签 (HTML tag)。
HTML元素
"HTML 标签" 和 "HTML 元素" 通常都是描述同样的意思.
但是严格来讲, 一个 HTML 元素包含了开始标签与结束标签,如下实例:
HTML 元素:
<p>这是一个段落。</p>web浏览器 Web浏览器(如谷歌浏览器,Internet Explorer,Firefox,Safari)是用于读取HTML文件,并将其作为网页显示。 浏览器并不是直接显示的HTML标签,但可以使用标签来决定如何展现HTML页面的内容给用户
HTML结构
HTML代码是由标签组成的,大多数标签都是双标签成对出现的结构,只有少数标签是单标签
<body>hello world </body>开始标签和结束标签之间,写的是标签的内容,开始标签中可能会带有"属性”.id属性相当于给这个标签设置了一个唯一的标识符(身份证号码).
<body id = "my_id"> hello world </body>基本结构
只有body才会在浏览器中显示
<html >
<head>
<title>第一个页面</title>
</head>
<body>
hello world
</body>
</html>

标题
<h1>这是一个标题</h1>
<h2>这是一个标题</h2>
<h3>这是一个标题</h3>段落
<p>这是一个段落。</p>
<p>这是另外一个段落。</p>链接
<a href="https://www.baidu.com">这是一个链接</a>图像
<img src="/images/logo.png" width="258" height="39" />开始标签 元素内容结束标签 <p>这是一个段落</p><a href="default.htm">这是一个链接</a><br>换行 元素语法:
属性是 HTML 元素提供的附加信息。 属性通常出现在 HTML 标签的开始标签中,用于定义元素的行为、样式、内容或其他特性。 属性总是以 name="value" 的形式写在标签内,name 是属性的名称,value 是属性的值。
https://www.runoob.com/tags/html-reference.html 全局属性(所有HTML均可使用的属性)
HTML 标题(Heading)是通过<h1> - <h6> 标签来定义的。
<h1>这是一级标题</h1>
<h2>这是二级标题</h2>
<h3>这是三级标题</h3>
<h4>这是四级标题</h4>
<h5>这是五级标题</h5>
<h6>这是六级标题</h6>p标签表示一个段落
<p>这是段落1</p>
<p>这是段落2</p>
<p>这是段落3</p>换行标签1<br/>
换行标签2<br/>
换行标签3<br/>br标签和p标签的区别

img标签必须带有 src属性.表示图片的路径.
图片和html文件要在同级目录下
<img src="1.png" alt="该图片无法显示" width="800px" height="500px">
关于目录结构
相对路径:以html所在路径为基准找到图片位置
同级路径直接写文件名称即可(或./)
下一级路径:用 / 连接文件夹名和文件名,比如 文件夹名/文件名
<img src="1.png" alt="示例">
<!-- 或者写成 <img src="./1.png" alt="示例"> ,效果一样 -->
<img src="image/2.jpg" alt="示例"> 绝对路径:一个完整的磁盘路径或网络路径
<img src="../2.png" alt="示例图片2" width="1000px" height="500px" border="5px"><br>
<img src="https://pic.rmb.bdstatic.com/bjh/bb8d09e8ad2/241023/40be20175f5150b230fb47fa2a3c65a1.png?x-bce-process=image/watermark,bucket_baidu-rmb-video-cover-1,image_YmpoL25ld3MvNjUzZjZkMjRlMDJiNjdjZWU1NzEzODg0MDNhYTQ0YzQucG5n,type_RlpMYW5UaW5nSGVpU01HQg==,w_27,text_QOm4v-mbgeeVheiwiA==,size_27,x_21,y_21,interval_2,color_FFFFFF,effect_softoutline,shc_000000,blr_2,align_1" alt="示例图片3" width="1000px" height="500px" border="5px"><br><a href="https://baidu.com" target="_blank">百度</a>链接的几种形式:
HTML 表格由 <table> 标签来定义。
每个表格均有若干行(由 <tr> 标签定义),每行被分割为若干单元格(由 <td> 标签定义),表格可以包含标题行(<th>)用于定义列的标题。
表格标签常见属性
(可以用于设置大小边框等.但是一般使用CSS方式来设置) 这些属性都要放到 table标签中。 注意,这几个属性,vscode都提示不出来
<table align="center" border="1" cellpadding="20" cellspacing="0" width="500" height="500">
<thead>
<tr>
<th>列标题1</th>
<th>列标题2</th>
<th>列标题3</th>
</tr>
</thead>
<tbody>
<tr>
<td>行1,列1</td>
<td>行1,列2</td>
<td>行1,列3</td>
</tr>
<tr>
<td>行2,列1</td>
<td>行2,列2</td>
<td>行2,列3</td>
</tr>
</tbody>
</table>
表单是让用户输入信息的重要途径
HTML 表单用于收集用户的输入信息。
HTML 表单表示文档中的一个区域,此区域包含交互控件,将用户收集到的信息发送到 Web 服务器。
HTML 表单通常包含各种输入字段、复选框、单选按钮、下拉列表等元素。
<form> 元素用于创建表单,action 属性定义了表单数据提交的目标 URL,method 属性定义了提交数据的 HTTP 方法(这里使用的是 "post")。<label> 元素用于为表单元素添加标签,提高可访问性(通常使用id属性关联)。<input> 元素是最常用的表单元素之一,它可以创建文本输入框、密码框、单选按钮、复选框等。type 属性定义了输入框的类型,id 属性用于关联 <label> 元素,name 属性用于标识表单字段。<select> 元素用于创建下拉列表,而 <option> 元素用于定义下拉列表中的选项。分成两个部分:
form标签
描述了要把数据按照什么方式,提交到哪个页面中
<form action=""></form>input标签
各种输入控件,单行文本框,按钮,单选框,复选框。
下拉标签select:<select> 元素用来创建下拉列表。
<select> 元素中的 <option> 标签定义了列表中的可用选项。
option中定义selected="selected"表示默认选中
disabled:禁用该选项,使其无法被用户选中。用户只能看到这个提示,但不能将其作为有效选项提交。
selected:默认选中该选项。页面加载时,下拉框会显示 “请选择国家” 作为初始文本。

<select name="country">
<option value="" disabled selected>请选择国家</option>
<option value="China">中国</option>
<option value="USA">美国</option>
<option value="UK">英国</option>
<option value="Japan">日本</option>
</select>文本框标签 textarea
<textarea rows="10" cols="30">
我是一个文本框。
</textarea>标签 | 描述 |
|---|---|
<form> | 定义供用户输入的表单 |
<input> | 定义输入域 |
<textarea> | 定义文本域 (一个多行的输入控件) |
<label> | 定义了 <input> 元素的标签,一般为输入标题 |
<select> | 定义了下拉选项列表 |
<option> | 定义下拉列表中的选项 |
<button> | 定义一个点击按钮 |
常用的输入类型:
文本域:文本域通过 <input type="text"> 标签来设定 当用户要在表单中键入字母、数字等内容时,就会用到文本域。
<form>
用户名:<input type="text" name = username><br>
密码:<input type="text" name = password>
</form>
密码字段:密码字段通过标签 <input type="password"> 来定义:
<form>
Password: <input type="password" name="pwd">
</form>
单选按钮:<input type="radio"> 标签定义了表单的单选框选项
<form action="">
<input type="radio" name="sex" value="male">男<br>
<input type="radio" name="sex" value="female" checked="checked">女
</form>
有 value 的情况:选 “男”,提交的数据是 sex=male;选 “女”,是 sex=female 。后端能用 male / female 区分性别。
checked="checked" 会让 “女” 在页面刚加载时就被选中,不用用户手动点。如果没这个属性,两个单选框默认都是未选中状态。

复选框:<input type="checkbox"> 定义了复选框。
复选框可以选取一个或多个选项:
<input type="checkbox" name="vehicle[]" value="Bike">自行车<br>
<input type="checkbox" name="vehicle[]" value="Bus">公交车<br>
<input type="checkbox" name="vehicle[]" value="car">公交车<br>name 是表单提交时的参数名,用于后端接收数据。
[] 语法:告诉后端这是一个数组参数,可以接收多个值(例如用户同时选了 “自行车” 和 “小汽车”)。选中复选框时,对应 value 的值会被提交到服务器。如果没选,则该复选框的值不会被提交。

普通按钮
<input type="button" value="普通按钮" onclick="alert('hello')">提交按钮:<input type="submit"> 定义了提交按钮。
当用户单击确认按钮时,表单的内容会被传送到服务器。表单的动作属性 action 定义了服务端的文件名。
action 属性会对接收到的用户输入数据进行相关的处理
<form action="Demo3.html" name="input" method="get" target="_blank">
Username <input type="text" name="user"><br>
Password <input type="password" name="pwd">
<input type="submit" value="Submit">
</form>
div标签,division的缩写,含义是分割 span标签,含义是跨度 就是两个盒子.用于网页布局
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<h1>用户注册</h1>
<tr>
<td>用户名:</td>
<td><input type="text" placeholder="请输入用户名"></td><br>
</tr>
<tr>
<td>密码:</td>
<td><input type="password" placeholder="请输入密码"></td>
</tr>
<form action="">
<label>性别:</label>
<input type="radio" name="sex" value="male" checked="checked">男
<input type="radio" name="sex" value="female">女<br>
<input type="checkbox" name="surbscribe" value="订阅">
<label for="surbscribe">订阅推送消息</label><br>
<label for="country">国家:</label>
<select name="country" id="country">
<option value="CN">中国</option>
<option value="USA">美国</option>
<option value="USB">英国</option>
</select>
<br>
<input type="submit" value="提交">
</form>
</body>
</html>
CSS (Cascading Style Sheets,层叠样式表),是一种用来为结构化文档(如 HTML 文档或 XML 应用)添加样式(字体、间距和颜色等)的计算机语言,CSS 文件扩展名为 .css。
CSS 规则由两个主要的部分构成:选择器,以及一条或多条声明:

选择器通常是您需要改变样式的 HTML 元素。
每条声明由一个属性和一个值组成。
属性(property)是您希望设置的样式属性(style attribute)。每个属性有一个值。属性和值被冒号分开。
CSS基本语法规范
CSS声明总是以分号 ; 结束,声明总以大括号 {} 括起来:
<style>
p {
/* 设置字体颜⾊ */
color: red;
/* 设置字体⼤⼩ */
font-size: 30px;
}
</style>
<p>hello</p>CSS选择器的主要功能就是选中页面指定的标签元素,选中了元素,才可以设置元素的属性
CSS的选择器主要分为以下几种:
标签选择器:"p"来定义
p {
/* 设置字体颜⾊ */
color: red;
/* 设置字体⼤⼩ */
font-size: 30px;
}class选择器:类选择器以一个点 . 号显示
.font32 {
color: blue;
}id选择器:id 选择器以 "#" 来定义。
#para1
{
color:red;
}复合选择器
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
/* 空格表示后代 */
ul li{
color: blue;
}
/* 没空格表示交集 一个标签要同时具备 */
p#red{
color: red;
}
/* 逗号 表示并集 同时满足 */
.blue, .green{
color: brown;
}
/* >表示相邻后代,必须是儿子 */
ul>li>a {
color: aqua;
}
</style>
</head>
<body>
<p>hello</p>
<p id="red"">hello</p>
<p class="blue">hello</p>
<p class="green">hello</p>
<div class="font32"> class="font32"</div>
<div class="font32"> class="font32"</div>
<div><a href="#">我是一个div</a></div>
<ul>
<li>aaa</li>
<li>bbb</li>
<li><a href="#">ccc</a></li>
</ul>
<ol>
<li>111</li>
<li>222</li>
<li>333</li>
</ol>
<button id="submit">提交</button>
</body>
</html>
通配符选择器
/* 设置⻚⾯所有元素, 颜⾊为红⾊*/
* {
color: red;
}<div class="text1">我是⽂本1</div>color设置字体颜色
.text1{
color: red;
}颜色有如下几种表达方式:
设置字体大小
.text1{
font-size: 32px;
}border:边框 边框是一个复合属性,可以同时设置多个样式,不分前后顺序,浏览器会根据设置的值自动判断
.text1{
border: 1px solid purple;
}
.text1 {
border-width: 1px;
border-style: solid;
border-color: purple;
}以上border属性的对应设置的维度分别为边框粗细,边框样式,边框颜色. 也可以拆开来设置
样式 | 说明 | 取值 |
|---|---|---|
border-width | 设置边框粗细 | 数值(如 1px、2em 等,用于定义边框的宽度尺寸 ) |
border-style | 设置边框样式 | dotted : 点状 solid : 实线 double : 双线 dashed: 虚线 |
border-color | 设置边框颜色 | 同 color(可使用颜色名称如 red、十六进制如 #FF0000、RGB 如 rgb(255, 0, 0) 等常见颜色取值方式 ) |
width:设置宽度 height:设置高度
只有块级元素可以设置宽高 块级元素是HTML标签的一种显示模式,对应的还有行内元素 常见块级元素:h1-h6, p,div等 常见行内元素:a span
块级元素独占一行,可以设置宽高 行内元素不独占一行,不能设置宽高
改变显示模式使用display属性可以修改元素的显示模式. display:block改成块级元素[常用] display:inline改成行内元素[很少用]
.text1 {
width: 200px;
height: 100px;
}padding:内边距,设置内容和边框之间的距离. 内容默认是顶着边框来放置的.用padding来控制这个距离

.text1 {
padding: 20px;
}padding也是一个复合样式,可以对四个方向分开设置
外边距,设置元素与元素之间的距离
.text1 {
margin: 20px;
}margin也是一个复合样式,可以给四个方向都加上外边距