第一章 HTML

第一章 HTML

1. 前端和后端:

前端:呈现在用户面前的就是前端

前端技术:前端就是编写网页代码的技术。

Web应用中,运行在浏览器中的代码就是前端技术。

主要包括三种技术:

1) HTML:组织网页中的内容。

2) CSS:美化网页中的元素。

3) JavaScript:提供更加丰富的交互方式。

只有以上三种技术是可以运行在浏览器的。

基于以上三种技术的衍生技术:

1) 前端库: jQuery是JS的封装库。

2) 前端框架:React、Vue、Bootstrap、Layui、Layui-mini。

后端:

用户看不到的那就是后端

运行在服务器上的代码,就是后端技术。

比如:

JavaEE

PHP

C# .net

2.C/S和B/S架构:

C/S:

Client-Server

客户端+服务器:QQ、LOL

优势:效率高,安全性高

缺点:必须安装客户端,针对不同的平台开发客户端

B/S:

Browser-Server

浏览器+服务器:百度,淘宝,京东

优势:无须安装客户端,在浏览器中就可以直接访问,并且是跨平台的。

缺点:效率低,安全性低

3. Web应用访问过程:

4. HTML

Hyper Text Markup Language

超文本标记语言,它是用来编写网页一种基础语言。

组织网页中的内容 ---人

超文本最核心的东西是:超链接。 还有图片,视频,音频。

标记:HTML由各种标签(标记)组成的。

开发工具:

IDE

HBuilderX官网:https://www.dcloud.io/

HBuilder下载页面:https://www.dcloud.io/hbuilderx.html

下载解压后即可使用。

4.1 HTML的基本结构

bash 复制代码
<!-- DOCTYPE  document 文档  type 类型  html html5 -->
<!DOCTYPE html>

<!-- HTML的根标签: -->
<html>
	<!-- HTML的头,设置当前页面,进行一些通用性的配置 -->
	<head>
		<!-- 元, charset 字符集 使用 utf-8 -->
		<meta charset="utf-8" />
		<!-- 设置网页的标题,显示在浏览器的标题栏中 -->
		<title>HTML页面</title>
		<!-- JS或CSS的代码 -->
	</head>

	<!-- HTML的主体,在浏览器的主窗口中可以显示的内容 比如,文本,超链接,图片。。。-->
	<body>
		我的HTML页面
	</body>

<!-- HTML标签的结尾 -->
</html>
标签

注解的快捷方式:

Ctrl+/

4.2 HTML中的标签

在HTML中,所有的标签都以<标签名>方式存在。标签上还可以设置一些属性。

双标签:

<标签名 属性="值">标签的内容</标签名>

单标签

<标签名 属性="值" />

例如:

双标签是可以包含内容的,单标签不行。

HTML双标签通常都可以嵌套的。外层的标签叫父标签,内层标签叫子标签。

id:为标签指定一个id值,在一个页面中id值是不能重复的

class:为标签指定一个class值,通常用于设置CSS样式

width:宽度 单位:300px(像素) 50%(以父标签的宽度进行计算)

height:高度

border:边框

style:设置CSS样式的

4.3 常用标签

4.3.1 文本:
bash 复制代码
<!-- 文章标题标签 
h1~h6, 字体加粗,字号减小,每个标题独占一行(块级元素)
--> 
<h1>标题<span>一</span></h1>
<h2>标题二</h2>
<h3>标题三</h3>
<h6>标题六</h6>




<!-- 段落标签, 表示文章的一个段落 独占一行
在HTML中连续的多个空白字符(空格,回车换行,Tab)最多只解析成一个空格
-->							
<p>常见的关系型数据库:MySQL: 开源免费的,Oracle公 司旗下。Oracle:商业数据库,大型的面向对象的关系型数据库。MS SQL Server:微软的数据库,收费,只能运行Windows平台上。SQLite:基于文件的微型的关系型数据库。Access:微软基于文件的微型数据库。</p>
<!-- hr 分隔线-->
<hr>
<p>常见的关系型数据库:
MySQL: 开源免费的,Oracle公司旗下。


<!-- br 换行-->
<br>
<br>
Oracle:商业数据库,大型的面向对象的关系型数据库。
MS SQL Server:微软的数据库,收费,只能运行Windows平台上。
SQLite:基于文件的微型的关系型数据库。
Access:微软基于文件的微型数据库。</p>

<b>加粗</b>
<strong>加粗</strong>

<i>斜体</i>
<em>斜体</em>

<!-- sub下角标 sup上角标-->
H<sub>2</sub>O
a<sup>2</sup> + b<sup>2</sup> = c<sup>2</sup>
<span>没有任何效果,布局</span>

总结:

bash 复制代码
1)标题标签:h1~h6, 字体加粗,字号减小,每个标题独占一行(块级元素)
<h1>标题<span>一</span></h1>
<h2>标题二</h2>
<h3>标题三</h3>
<h6>标题六</h6>


2)p,段落标签

3)br 换行标签

4)hr,分隔线

5)字体相关的:
b ,strong ,em ,i,sub,sup,span,font
<b>加粗</b>
<strong>加粗</strong>

<i>斜体</i>
<em>斜体</em>

<!-- sub下角标 sup上角标-->
H<sub>2</sub>O
a<sup>2</sup> + b<sup>2</sup> = c<sup>2</sup>
<span>没有任何效果,布局</span>
4.3.2 图片:

img标签用于在页面中显示图片。

bash 复制代码
<img src="图片的地址" width="宽度" height="高度" title="文本提示"/>

img标签是一个单标签。

src:设置要显示的图片的地址。这个地址可以是相对路径,也可以是绝对路径。

width和height:用于设置图片在页面中的显示大小,可以使用像素设置,也可以使用百分比。

当使用像素值时,这时会根据实际像素进行显示。

当使用百分比时,这时会根据父元素的宽度来进行计算。

如果只设置了width和height中的一个,另一个也会进行等比例缩放。

如果同时设置了width和height,这里会按照设置宽度高度进行拉伸。

4.3.3 超链接:

超链接是HTML的灵魂。

超链接可以实现页面之间的跳转,从而将多个网页整合成一个网站。

bash 复制代码
<a href="点击时跳转地址" target="打开方式">超链接的内容</a>

超链接在点击前,点击后,鼠标按下时,会呈现不同的状态。

超链接可以嵌套其它标签,当存在多个超链接时,从左向右的顺序排列。

href:超链接跳转的地址,可以是相对路径,也可以是绝对路径。

target:设置超链接的打开方式。

target的取值:

1) _self:在当前页面中打开,默认值。

2) _blank:在新页面中打开超链接。

3) _parent:在父页面中打开超链接。

锚点

在一个页面中,每一个标签都可以添加id属性。

id属性在一个页面中也不应该出现重复的值。

如果在a标签的href设置为#id值,这时a标签就变成了锚点的跳转。

比如:

4.4组合标签

由多个标签组合在一起,完成整个功能。

4.4.1 列表:

1.有序列表

bash 复制代码
<ol>  order list
   <li>第一项</li>    list item
   <li>第二项</li>
   <li>第三项</li>
</ol>

每一项前显示序号。

2.无序列表(最常用):

无序列表在网页中是最常用的一种列表。例如:新闻列表,文章列表,菜单。

bash 复制代码
<ul>
    <li>第一项</li>
    <li>第二项</li>
    <li>第三项</li>
</ul>

每一项前显示小圆点

展示效果如下:

3.自定义列表:

bash 复制代码
<dl>
    <dt></dt> <dd></dd>
    <dt></dt> <dd></dd>
</dl>

<dl>
    <dt></dt> <dd></dd>
    <dt></dt> <dd></dd>
</dl>

如下所示:

展示效果如下:

4.4.2 表格:
bash 复制代码
<table border="" cellspacing="" cellpadding="">
   <caption>表格的标题</caption>
   <thead>  头部
      <tr>  行
         <th>列头</th>
         <th>列头</th>
      </tr>
   </thead>
   <tbody>
      <tr>
         <td>单元格</td>
         <td>单元格</td>
      </tr>
      <tr>
         <td>单元格</td>
         <td>单元格</td>
      </tr>
   </tbody>
</table>

具体对应的效果:

caption,thead,tbody标签可以没有。

table标签的属性:

1) border:边框宽度,以像素为单位。

2) width:表格宽度。

3) cellspaceing:单元格之间的间距。

4) cellpadding:单元格边框与内容的间距。也就是内边距。

th、td标签的属性:

1) width:宽度。

2) rowspan:行合并。(并且可以设置 rowspan=''2''这样,代表一个格子占两行)

3) colspan:列合并。并且可以设置 colspan=''2''这样,代表一个格子占两列)

注意:可以单独设置某一行的具体宽度,也可以直接设置表格整体的宽度,如果不特意说明那么会自适应。

如下所示:

4.3.3 表单

表单为用户操作页面操作的元素。为用户在页面中输入数据提供丰富的方式。

bash 复制代码
<form action="表单数据的提交地址" method="请求方式" enctype="表单数据的传输方式">
表单元素
</form>

action:

表单在提交时,数据送的地址,这个地址通常是一个服务器的动态页面。地址可以是相对路径,也可以是绝对路径。

method:

表单的请求方式实际就是HTTP的请求方式,常用的有get、post等请求。默认情况下method的值是get。

4.3.4 表单元素

input:

表单中最常用的输入元素。

bash 复制代码
<input type="类型" name="名字参数名" value="值" />

1) type:通过设置不同的type得到不同的输入控件。

type的取值可以是:text、password、radio、checkbox、number、email、file、submit、reset、button、hidden等等。

2) name:input标签的名字,只有设置了name属性的表单元素,才会将它的值提交到action。

3) value:标签的值,对于某些input,value就是初始时的默认值;对于另外一些input,value就是它的对应值。

input的类型:

1) text

文本框,可以输入任意的文本字符,只能输入一行。

bash 复制代码
用户名:<input type="text" name="username" value="tom" placeholder="请输入用户名">

2) password

密码框,输入字符都显示为掩码状态即一个圆点。

bash 复制代码
密 码:<input type="password" name="pwd" value="123" placeholder="请输入密码">

3) radio

单选按钮,在一个表单中,name相同的radio会被当做一组,一组的radio最多只能有一个被选中。

单选按钮的默认值是on,通常使用value设置单选按钮所对应的值。

如果希望某一项选中,可设置checked属性。

bash 复制代码
性 别:
<input type="radio" name="sex" value="男">男
<input type="radio" name="sex" value="女" checked>女

4) checkbox

复选框,是可以多选的,也可以选中,或不选中。

bash 复制代码
爱 好:
<input type="checkbox" name="hobby" value="吃饭">吃饭
<input type="checkbox" name="hobby" value="睡觉" checked>睡觉
<input type="checkbox" name="hobby" value="打豆豆" checked>打豆豆

5) number、email

只能输入允许的值,并且会进行检查。

bash 复制代码
身 高:<input type="number" name="height">米
邮 箱:<input type="email" name="email">

6) file

上传文件,可以选择本地的文件上传到服务器。

bash 复制代码
照 片:<input type="file" name="photo">

7) submit

提交表单的按钮,点击时会将当前表单中所有的有效表单元素的值获取并上传到action的地址。

bash 复制代码
<input type="submit" value="保存">

8) reset

重置按钮,点击时会将用户的输入全部清除,回到最初始的状态。

bash 复制代码
<input type="reset" value="重新填写">

9) button

普通按钮,不具有提交和重置的功能。

bash 复制代码
<input type="button" value="按钮">

10) hidden

隐藏域,在页面中不会显示,也不需要用户进行操作,表单提交给,传递用户不应该看到的数据。

bash 复制代码
<input type="hidden" name="id" value="12">

select

下拉列表框,从下拉列表中选择一个项。省,市,区地址。

bash 复制代码
<select name="名字">
    <option value="1">选项一</option>
    <option value="2">选项二</option>
</select>

例如

bash 复制代码
班 级:
<select name="clazz">
    <option value="1">220701Java</option>
    <option value="2">220702Java</option>
    <option value="3">220703Java</option>
    <option value="4">220704Java</option>
    <option value="5">220705Java</option>
    <option value="6">220701H5</option>
    <option value="7">220702H5</option>
</select>

textarea

多行文本域,可以输入多行文本,生成滚动条。

bash 复制代码
<textarea name="名字">文本内容</textarea>

textarea可以通过cols控制宽度,rows控制高度,这两个属性都是根据字符大小计算的。

button

相当于input的按钮,但它是一个双标签,可以嵌套其它的标签。

bash 复制代码
<button type="submit/reset/button">内容</button>

相对路径和绝对路径

url的相对路径和绝对路径

绝对路径

协议://主机名/ip:端口/具体路径

bash 复制代码
http://127.0.0.1:8848/demo0728/form.html

绝对路径一般用于跨站访问。

相对路径

1) 以/开头的路径。

以当前的站点作为相对路径的根路径。

例如:

bash 复制代码
页面: http://127.0.0.1:8848/demo0728/url.html
相对路径:/index.html 
计算过程:http://127.0.0.1:8848/  +  index.html
最终访问路径:http://127.0.0.1:8848/index.html

2) 直接以路径开头。

以当前页面所在的路径作为根路径。

页面:http://127.0.0.1:8848/demo0728/url.html

相对路径:index.html 或 ./index.html

计算过程:http://127.0.0.1:8848/demo0728/ + index.html

最终访问路径:

http://127.0.0.1:8848/demo0728/index.html

3) 以.../开头的路径。

.../当前路径的上级路径。

页面:http://127.0.0.1:8848/demo0728/url.html

相对路径:.../index.html

计算过程:http://127.0.0.1:8848/demo0728/向上一级 + index.html

最终访问路径:http://127.0.0.1:8848/index.html

base

根路径的设置标签, 用于设置当前页面的相对路径的根路径。

页面:http://127.0.0.1:8848/demo0728/url.html

bash 复制代码
base:<base href="/root/page/">

相对路径:index.html

计算过程:

相对路径根路径 => http://127.0.0.1:8848/ + root/page/

index.html => http://127.0.0.1:8848/root/page/ + index.html

最终访问路径:http://127.0.0.1:8848/root/page/index.html

举例子:

显示效果如下:

相关推荐
前端大卫1 小时前
Vue3 + Element-Plus 自定义虚拟表格滚动实现方案【附源码】
前端
却尘1 小时前
Next.js 请求最佳实践 - vercel 2026一月发布指南
前端·react.js·next.js
ccnocare1 小时前
浅浅看一下设计模式
前端
Lee川1 小时前
🎬 从标签到屏幕:揭秘现代网页构建与适配之道
前端·面试
Ticnix2 小时前
ECharts初始化、销毁、resize 适配组件封装(含完整封装代码)
前端·echarts
纯爱掌门人2 小时前
终焉轮回里,藏着 AI 与人类的答案
前端·人工智能·aigc
twl2 小时前
OpenClaw 深度技术解析
前端
崔庆才丨静觅2 小时前
比官方便宜一半以上!Grok API 申请及使用
前端
星光不问赶路人2 小时前
vue3使用jsx语法详解
前端·vue.js
天蓝色的鱼鱼2 小时前
shadcn/ui,给你一个真正可控的UI组件库
前端