HTML零基础快速入门(详细教程)
1,HTML代码特点
<html><head></head><body>hello world!</body>
</html>
HTML代码有以下特点:
-
html代码是通过标签来组织的,而标签是由尖括号
< >
组织的,也可被叫作元素(element)。 -
大部分标签是成对存在的,称之为双标签,少数标签是单独存在的,称之为单标签。
- 双标签,
<html>
为开始标签,</html>
为结束标签,开始标签和结束标签之间的是标签的内容。 - 单标签,
<br>
只有开始标签,无结束标签。
- 双标签,
-
标签是可以嵌套的,一个标签的内容可以是其他一个或者多个标签。
-
开始标签内可以被赋予属性(Attribute),而属性是以键值对形式存在,可存在一个或多个。
-
<div id="myId">hello</div>
-
id
属性相当于给这个div
标签设置了一个唯一的身份标识。
-
小知识:html和xml文件的区别?
- xml文件是标签化的格式,xml有哪些标签,标签叫啥标签名,标签有啥作用,有啥属性,这些都是程序员自己根据自己的需求场景进行自定义的,没有一个明确的规范和标准。
- html文件也是标签化的格式,html有哪些标签,标签叫啥标签名,标签有啥作用,有啥属性,这些都是已经事先规定好了的,浏览器按照这些明确好的规范和标准来解析实现的,html不支持自定义标签。
2,HTML文件基本结构
2.1,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></body>
</html>
上述代码框架快速生成法:在vscode中创建文件 xxx.html , 直接输入 ! , 按 tab 键即可快速生成。
2.2,HTML文件基本结构解析
<!DOCTYPE html>
<!DOCTYPE html>
称为 DTD (文档类型定义),描述说明当前的文件是一个 HTML5 的文件。
<html lang="en"> </html>
<html>
标签是整个 html 文件的根标签 (最顶层标签)。lang
为language缩写,en
为english缩写,描述了当前页面是一个英语页面。- 向搜索引擎表示该页面是html语言,并且语言为英文网站;你的页面如果是中文页面,可将其改为
<html lang="zh">
。 - 这个主要是给搜索引擎看的,搜索引擎不会去判断该站点是中文站还是英文站,所以这个就是让搜索引擎知道,你的站点是中文站还是英文站,对html页面本身不会产生影响。
- 有些浏览器打开该网页时,会根据系统语言(中文)和该网页语言(英语),提示用户是否把网页内容翻译成系统语言。
- 向搜索引擎表示该页面是html语言,并且语言为英文网站;你的页面如果是中文页面,可将其改为
<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>
head
标签内存放的是页面的一些属性,如meta data
元数据。meta
标签为单标签,只有开始标签,没有结束标签。<meta charset="UTF-8">
描述页面的字符编码方式,没有这一行可能会导致中文乱码问题。<meta name="viewport">
,viewport 指的是设备的屏幕上能用来显示我们的网页的那一块区域。<meta content="width=device-width, initial-scale=1.0">
,设置可视区和设备宽度等宽,,并设置初始缩放为不缩放。
title
标签内写的是页面标题,被称为页面标签。
<body> </body>
body
标签内写的是页面上显示的内容。
3,HTML标签
3.1,注释标签
<body><!-- 我是一段注释 -->
</body>
- 代码的注释,HTML注释和一般语言的注释差别很大。
/* */
//
#
等注释方法都不是HTML中的合法注释。
- 注释的内容不会显示在界面上,目的是提高代码可读性。
- 快速注释法:在vscode里,使用
ctrl + /
即可快速注释代码。
3.2,标题标签
<body><h1>一级标题</h1><h2>二级标题</h2><h3>三级标题</h3><h4>四级标题</h4><h5>五级标题</h5><h6>六级标题</h6>
</body>
- 标题标签共有6个,从 h1 - h6,数字越大,,则字体越小越细。
- 每个标题标签都是独占一行的,而这个独占一行和代码的编写无关。
注意事项:
- 在html里面标签是否换行,和代码的编写无关,而是与标签自身有关(有的标签独占一行,有点标签不独占)。
- 在html源代码中写的换行,不会真的进行换行操作, 而是相当于一个空格。
- 写的多个连续空格在特定情况下可能会被忽略,也可能会被视为一个空格。
- 在html 内容首尾处的换行,空格均无效。
- 在 html 中文字之间输入的多个空格只相当于一个空格。
3.3,段落标签
<body><p>这是一个段落 Lorem ipsum dolor sit amet consectetur, adipisicing elit. Incidunt ea blanditiis aspernatur nulla quasi possimus error numquam id quaerat in similique veniam nam commodi pariatur ullam, ipsa omnis rem ad.</p><p>这是一个段落 Lorem ipsum dolor sit amet consectetur, adipisicing elit. Incidunt ea blanditiis aspernatur nulla quasi possimus error numquam id quaerat in similique veniam nam commodi pariatur ullam, ipsa omnis rem ad.</p><p>这是一个段落 Lorem ipsum dolor sit amet consectetur, adipisicing elit. Incidunt ea blanditiis aspernatur nulla quasi possimus error numquam id quaerat in similique veniam nam commodi pariatur ullam, ipsa omnis rem ad.</p>
</body>
<p>
标签表示一个段落,段落与段落之间,不光进行了换行操作,还有一个明显的段落间距。
lorem
会自动生成一段随机的文本,用来帮助我们更好调试显示的效果。
3.4,换行标签
<body><p>这是一个段落 <br>Lorem ipsum dolor sit amet consectetur, adipisicing elit. Incidunt ea blanditiis aspernatur nulla quasi possimus error numquam id quaerat in similique veniam nam commodi pariatur ullam, ipsa omnis rem ad.</p><p>这是一个段落 Lorem ipsum dolor sit amet consectetur, adipisicing elit. Incidunt ea blanditiis aspernatur nulla quasi possimus error numquam id quaerat in similique veniam nam commodi pariatur ullam, ipsa omnis rem ad.</p>
</body>
3.5,格式化标签
<body><strong>加粗</strong><b>加粗</b><em>倾斜</em><i>倾斜</i><del>删除线</del><s>删除线</s><ins>下划线</ins><u>下划线</u>
</body>
- 上述的格式化标签与标题标签不同,都是不独占一行的。
- 使用 CSS 也可以完成上述类似的效果. 实际开发中以 CSS 方式为主。
3.6,图片标签
<body><img src="./img/touxiang.jpg" alt="" width="400px" height="400px" title="" border="">
</body>
-
<img>
标签有多个属性,核心属性src
必须填写,而其描述的是图片的路径(路径可为本地绝对路径,也可为相对路径,网络路径)。- 绝对路径:图片所在的完整磁盘路径。
- 相对路径:以 html 所在位置为基准, 找到图片的所在路径。
- 同级路径: 直接写文件名即可 或者 ./1.jpg
- 下一级路径: image/1.jpg
- 上一级路径: …/image/1.jpg
- 网络路径:通过http协议进行访问的图片路径。
-
img 标签的其他属性:
-
alt
: 替换文本, 当文本不能正确显示的时候,会显示alt
替换的文本。 -
title
: 提示文本,鼠标悬停放到图片上,就会有提示文字。 -
width/height
: 控制宽度高度,高度和宽度一般改一个就行,另外一个会进行等比例缩放,否则就会图片失衡。 -
border
: 边框,参数是宽度的像素。但是一般使用 CSS 来设定。
-
注意事项:
<img>
标签有多个属性,属性之间用单个或多个空格和换行进行分割。- 属性不能写在标签之前,属性使用键值对的格式表示,属性之间不分先后顺序。
3.7,超链接标签
<body><a href="http://www.baidu.com" target="_self">百度</a>
</body>
-
<a>
标签内可含有多个属性,核心属性href
必须填写, 实现点击后会跳转到哪个页面的功能,href可为链接,也可为IP地址。 -
<a>
标签内的target
属性表示打开方式的设置, 默认是_self
当前标签页打开,替换原有页面,如果是_blank
则用新的标签页打开,而不会替换原有页面。 -
超链接跳转的页面,可以是当前页面,也可以是当前网站的另外一个页面,也可以是当前网站之外的网页,具体形式有:
-
外部链接: href 引用其他网站的地址
-
内部链接: 网站内部页面之间的链接(写相对路径即可)
-
空链接: 使用 # 在 href 中进行占位
-
<a href="#">空链接</a>
-
-
下载链接: href 对应的路径是一个文件(可以使用 zip 文件)
-
<a href="test.zip">下载文件</a>
-
-
网页元素链接: 可以给图片等任何元素添加链接(把元素放到 a 标签中)
-
<a href="http://www.sogou.com"><img src="1.jpg" alt=""> </a>
-
-
锚点链接: 可以快速定位到页面中的某个位置
-
<a href="#one">第一集</a> <a href="#two">第二集</a> <p id="one">第一集剧情 <br>第一集剧情 <br>... </p> <p id="two">第二集剧情 <br>第二集剧情 <br>... </p>
-
-
-
禁止 a 标签跳转:
<a href="javascript:void(0);">
或者<a href="javascript:;">
3.8,表格标签
<body><table ><thead><tr><th>姓名</th><th>薪资</th></tr></thead><tbody><tr><td>小样</td><td>14500</td></tr><tr><td>小悦</td><td>10500</td></tr></tbody></table>
</body>
- 表格标签有多个,表格标签及其表示:
-
只有表格标签
table
内放置属性,且这些属性在vscode中提示不出来,放置的属性分别为:- align:表示表格相对于周围元素的对齐方式,align=“center” (不是内部元素的对齐方式)
- border:表示边框,1 表示有边框(数字越大, 边框越粗),“” 表示没边框
- cellpadding:表示内容距离边框的距离,默认为 1 像素
- cellspacing:表示单元格之间的距离,默认为 2 像素
- width / height:表示设置尺寸
-
合并单元格,分为跨行合并 (
rowspan="n"
)和跨列合并 (colspan="n"
) 两种。- 合并单元格的步骤分为3步,分别为:
- 先确定跨行还是跨列
- 找好目标单元格(跨行合并,上方是目标单元格;跨列合并,左侧是目标单元格)
- 删除多余的单元格
- 合并单元格的步骤分为3步,分别为:
3.9,列表标签
<body><h4>有序列表</h4><ol><li>有序列表项1</li><li>有序列表项2</li></ol><h4>无序列表</h4><ul><li>无序列表项1</li><li>无序列表项2</li></ul><h4>自定义列表</h4><dl><dt>自定义列表项</dt><dd>自定义列表项的描述1</dd><dd>自定义列表项的描述2</dd></dl>
</body>
-
列表标签可以分为三大类,分别为有序列表标签,无序列表标签,自定义列表标签。
- 有序列表标签,由
<ol>
标签 和<li>
标签构成。 - 无序列表标签,由
<ul>
标签 和<li>
标签构成。 - 自定义列表标签,由
<dl>
标签,<dt>
标签 和<dd>
标签构成。
- 有序列表标签,由
-
列表标签的作用效果不同,在网页显示效果分别为:
-
自定义列表标签用于一个术语名对应多重定义或者多个术语名同一个给出的定义,
<dl>
(总标签)<dt>
(小标题)<dd>
(围绕标题来说明) ,上面有个小标题,,下面有几个围绕着标题来展开的。 -
列表的列表项之间是并列关系,且列表带有自己的样式,可以使用CSS来进行修改样式 (例如前面的小圆点都会去掉)。
-
<ul>
/<ol>
中只能放<li>
,不能放其他标签,而<dl>
中只能放<dt>
和<dd>
,<li>
中可以放其他标签。
3.10,表单标签
-
使用列表标签可以完成上述简易的电子简历信息填写稿,而列表标签主要可分为两个部分,分别为表单域和表单控件。
- 表单域:包含表单元素的区域,重点是
<form>
标签。 - 表单控件:输入框,提交按钮等,重点是
<input>
标签。
- 表单域:包含表单元素的区域,重点是
-
<form>
标签,使用其进行前后端交互操作(把页面上,用户进行的输入提交操作提交到服务器上)。 -
<input>
标签,内含各种输入控件,分别为: -
type
:必须存在,取值种类有很多种,如button, checkbox, text, file, image, password, radio 等。 -
name
:给input
起了个名字,尤其是对于单选按钮,具有相同的 name 才能多选一。 -
value
:input
中的默认值。 -
checked
:默认被选中(用于单选按钮和多选按钮) -
maxlength
:设定输入文本的最大长度。 -
<input>
标签被的输入控件type
有多种,分别为:-
text
:单行文本框,专门用于输入文本 -
password
:单行文本框,专门用于输入密码 -
radio
:单选框,需要搭配name
输入控件使用(name属性相同的单选框,值与值之间是互斥的,只能单选) -
checkbox
:复选框 -
buttom
:按钮 -
submit
:提交按钮,搭配<form>
标签使用,点击后就会尝试给服务器发送 -
file
:文件选择框 -
reset
:清空按钮
-
-
表单标签除了上述标签,还有其他标签,分别为:
-
<label>
标签,搭配<input>
使用,点击 label 也能选中对应的单选/复选框,能够提升用户体验。-
标签内含
for
属性,指定当前 label 和哪个相同 id 的 input 标签对应(此时点击才是有用的)。 -
<body><label for="male">♂ 男</label> <input id="male" type="radio" name="sex"><label for="women">♀ 女</label> <input id="women" type="radio" name="sex"> </body>
-
,
-
-
<select>
标签,下拉菜单,搭配<option>
使用。-
<option>
标签中定义selected="selected"
表示默认选中 -
<body><select><option value="" select="selected">请选择年份</option><option value="">1999</option><option value="">2000</option><option value="">2001</option><option value="">2002</option><option value="">2003</option></select> </body>
-
-
-
<textarea>
标签,多行编辑框,输入多行文本。<textarea>
标签内含rows
和cols
属性,限制文本的行数和行字数,但都不会直接使用,因为可利用 css 来进行修改的。- 文本域中的内容,就是默认内容。在这里,空格换行都是会对文本有影响。
-
3.11,无语义标签
<div><span>小样</span><span>小样</span><span>小样</span>
</div>
-
无语义标签主要有两个,分别为
<div>
标签和<span>
标签。<div>
标签,含义为分割,实质上是大盒子,div
是独占一行的,用于网页布局。`<span>
标签,含义为跨度,实质上是小盒子,span
是不独占一行的,用于网页布局。
-
总结
以上就是HTML的所有基础内容,希望能够对大家有帮助。如果大家有什么解决不了的问题,欢迎大家评论区留言或者私信告诉我。如果感觉对自己有用的话,可以点个赞或关注鼓励一下博主,我会越做越好的,感谢各位的支持,我们下期见。
相关文章:

HTML零基础快速入门(详细教程)
1,HTML代码特点 <html><head></head><body>hello world!</body> </html>HTML代码有以下特点: html代码是通过标签来组织的,而标签是由尖括号< >组织的,也可被叫作元素(ele…...

Kubernetes第5天
第七章 Service详解 本章节主要介绍kubernetes的流量负载组件:Service和Ingress。 Service介绍 在kubernetes中,pod是应用程序的载体,我们可以通过pod的ip来访问应用程序,但是pod的ip地址不是固定的,这也就意味着…...

RK3568平台开发系列讲解(调试篇)debugfs 分析手段
🚀返回专栏总目录 文章目录 一、enable debugfs二、debugfs API三、使用示例沉淀、分享、成长,让自己和他人都能有所收获!😄 📢Linux 上有一些典型的问题分析手段,从这些基本的分析方法入手,你可以一步步判断出问题根因。这些分析手段,可以简单地归纳为下图: 从这…...

【Spring框架全系列】SpringBoot配置日志文件
🍧🍧哈喽,大家好,我是小浪。那么上篇博客我们学习了SpringBoot配置文件的相关操作,本篇博客我们将学习一个新的知识点,SpringBoot日志文件。🖥🖥 📲目录 一、日志是什么…...

事务 ---MySQL的总结(六)
事务 多进程进行并改变同一个数据,如果没有进行版本控制,就会出现数据不确定的问题,为此引入了事务的概念。可以进行数据回滚,解决潜在的问题。 事务的概念 一组的DML组成,这一些的DML要么同时成功,要么同…...
22 标准模板库STL之容器适配器
概述 提到适配器,我们的第一印象是想到设计模式中的适配器模式:将一个类的接口转化为另一个类的接口,使原本不兼容而不能合作的两个类,可以一起工作。STL中的容器适配器与此类似,是一个封装了序列容器的类模板,它在一般序列容器的基础上提供了一些不同的功能和接口。之所…...
目标检测YOLO实战应用案例100讲-基于深度学习的自动驾驶目标检测算法研究
目录 基于深度学习的自动驾驶目标检测算法研究 相关理论基础 2.1 卷积神经网络基本原理...

服务网关Gateway
前言 API 网关出现的原因是微服务架构的出现,不同的微服务一般会有不同的网络地址,而外部客户端可能需要调用多个服务的接口才能完成一个业务需求,如果让客户端直接与各个微服务通信,会有以下的问题: 破坏了服务无状态…...

(4)定时器
51单片机的定时器属于单片机的内部资源,其电路的连接和运转均在单片机内部完成 作用: 用于计时系统替代长时间Delay,提高运行效率和速度任务切换 STC89C52定时器资源: 定时器个数:3个(T0,T1,T2…...

项目实现读写分离操作(mysql)
读写分离 1.问题说明 2.读写分离 Master(主库)----(数据同步)—> Slave(从库) Mysql主从复制 mysql主从复制 介绍 mysql主从复制是一个异步的复制过程,底层是基于mysql数据库自带的二进制日志功能。就是一台或多台…...
VP记录:Educational Codeforces Round 148 (Rated for Div. 2) A~D1
传送门:CF 前题提要:本人临近期中,时间较紧,且关于D2暂时没有想到优化算法,因此准备留着以后有时间再继续解决 A题:A. New Palindrome 简单的模拟题,考虑记录每一个字母出现的次数.很容易发现奇数次的数字只能出现一次.因为最多只能在正中间放一个.并且因为不能和初始字符相…...

无线模块|如何选择天线和设计天线电路
无线模块的通信距离是一项重要指标,如何把有效通信距离最大化一直是大家疑惑的问题。本文根据调试经验及对天线的选择与使用方法做了一些说明,希望对工程师快速调试通信距离有所帮助。 一、天线的种类 随着技术的进步,为了节省研发周期&…...

(11)LCD1602液晶显示屏
LCD1602(Liquid Crystal Display)液晶显示屏是一种字符型液晶显示模块,可以显示ASCII码的标准字符和其它的一些内置特殊字符,还可以有8个自定义字符,自带芯片扫描 显示容量:162个字符,每个字符…...

类和对象下
文章目录 一、初始化列表1、语法:2、初始化顺序 二、static成员三、友元1、友元函数2、友元类 四、拷贝对象时的编译器优化例1、例2、例3、 一、初始化列表 1、语法: 初始化列表: 以一个冒号开始,接着是一个以逗号分隔的数据成员…...

【云计算•云原生】4.云原生之什么是Kubernetes
文章目录 Kubernetes概念Kubernetes核心概念集群podConfigMap Kubernetes架构master节点的组件worker节点组件 Kubernetes网络架构内部网络外部网络 k8s各端口含义 Kubernetes概念 K8S就是Kubernetes,Kubernetes首字母为K,末尾为s,中间一共有…...

云厂商降价潮背后:来中小企业战场「拼刺刀」
如果说过往云厂商的降价打响的是从C端进军B端的营销战,那么在这一轮降价潮背后,对应的则是云厂商从大型KA客户向中小企业进军的信号,强被集成,强获客。 云厂商又一轮降价潮袭来。 5月16日,移动云宣布部分产品线最高降…...

2-单片机GPIO相关知识点及流水灯和按键采集小实验
目录 小问题 :单片机上电后第一个执行的程序是? 【1】GPIO 1.定义 2.应用 I - Input 输入采集 O - Output 输出控制 3.GPIO结构框图 4.功能描述 输入功能 5.相关寄存器 【2】输出控制实验 实验:点亮一盏LED灯 1.实验…...

基础知识(王爽老师书第一章)
文章目录 基础知识1.1 引言1.2 机器语言1.2 引言汇编语言的产生1.3 汇编语言的组成1.4 存储器1.5 指令和数据1.6 存储单元1.7 CPU对存储器的读写1.8 地址总线1.9 数据总线1.10 控制总线小结检测点1.11.11 内存地址空间1.12 主板1.13 接口卡1.14 各类存储器芯片1.15 内存地址空间…...

非煤矿山电子封条建设算法 yolov8
非煤矿山电子封条建设算法模型通过yolov8网络模型AI视频智能分析技术,算法模型对作业状态以及出井入井人员数量变化、人员睡岗离岗等情况实时监测分析,及时发现异常动态,自动推送生成的违规截图报警信息。现代目标检测器大部分都会在正负样本…...

七大软件架构设计原则详解
目录 1、概述 2、七大设计原则 2.1、开闭原则 2.2、里氏替换原则 2.3、依赖倒置原则 2.4、单一职责原则 2.5、接口隔离原则 2.6、迪米特法则 2.7、合成复用原则 3、最后 VC常用功能开发汇总(专栏文章列表,欢迎订阅,持续更新...&…...

(转)什么是DockerCompose?它有什么作用?
一、什么是DockerCompose? DockerCompose可以基于Compose文件帮我们快速的部署分布式应用,而无需手动一个个创建和运行容器。 Compose文件是一个文本文件,通过指令定义集群中的每个容器如何运行。 DockerCompose就是把DockerFile转换成指令去运行。 …...
【HarmonyOS 5 开发速记】如何获取用户信息(头像/昵称/手机号)
1.获取 authorizationCode: 2.利用 authorizationCode 获取 accessToken:文档中心 3.获取手机:文档中心 4.获取昵称头像:文档中心 首先创建 request 若要获取手机号,scope必填 phone,permissions 必填 …...
PAN/FPN
import torch import torch.nn as nn import torch.nn.functional as F import mathclass LowResQueryHighResKVAttention(nn.Module):"""方案 1: 低分辨率特征 (Query) 查询高分辨率特征 (Key, Value).输出分辨率与低分辨率输入相同。"""def __…...
Vue 模板语句的数据来源
🧩 Vue 模板语句的数据来源:全方位解析 Vue 模板(<template> 部分)中的表达式、指令绑定(如 v-bind, v-on)和插值({{ }})都在一个特定的作用域内求值。这个作用域由当前 组件…...
HTML前端开发:JavaScript 获取元素方法详解
作为前端开发者,高效获取 DOM 元素是必备技能。以下是 JS 中核心的获取元素方法,分为两大系列: 一、getElementBy... 系列 传统方法,直接通过 DOM 接口访问,返回动态集合(元素变化会实时更新)。…...
redis和redission的区别
Redis 和 Redisson 是两个密切相关但又本质不同的技术,它们扮演着完全不同的角色: Redis: 内存数据库/数据结构存储 本质: 它是一个开源的、高性能的、基于内存的 键值存储数据库。它也可以将数据持久化到磁盘。 核心功能: 提供丰…...

一些实用的chrome扩展0x01
简介 浏览器扩展程序有助于自动化任务、查找隐藏的漏洞、隐藏自身痕迹。以下列出了一些必备扩展程序,无论是测试应用程序、搜寻漏洞还是收集情报,它们都能提升工作流程。 FoxyProxy 代理管理工具,此扩展简化了使用代理(如 Burp…...
win11部署suna
参考链接 项目链接 沙盒链接 数据库链接 本文介绍 本文只为项目的辅助,手把手太麻烦 执行步骤 1.下载代码 git clone https://github.com/kortix-ai/suna.git cd suna2.配置环境(在Anaconda Prompt上执行) python setup.py3.运行代码 …...

springboot启动mapper找不到方法对应的xml
数据源配置 目录结构 idea中mapper.java 可以找到对应的mapper.xml文件 启动却找不到 因为mapper.db1会被识别为文件名 而非目录结构 调整为这种...

MySQL-运维篇
运维篇 日志 错误日志 错误日志是 MySQL 中最重要的日志之一,它记录了当 mysqld 启动和停止时,以及服务器在运行过程中发生任何严重错误时的相关信息当数据库出现任何故障导致无法正常使用时,建议首先查看此日志。 该日志是默认开启的&am…...