当前位置: 首页 > article >正文

一文学会HTML编程之视频+图文详解详析

前言

本文涵盖了html的所有核心知识点,因为篇幅非常长,故题主将本教程分为七个层次,师傅们结合自身的时间安排,灵活调整即可。

视频教程

哔哩哔哩(B站)搜索框中输入“uid=3546393096489381”即可

用户:star010_

图文教程

第一阶段

html介绍

概念:html是超文本标记语言的缩写,其英文全称为HyperText Markup Language,是用来搭建网站结构的语言,比如网页上的文字,按钮,图片,视频等。html的版本分为1.0、2.0、3.0、4.0、5.0(目前使用最广泛的就是5.0版本),所以html也称为html5

例子:比如下面的网站中,按钮“pikachu“就是由html语言中<a>标签构成的,标签的介绍后面会详细展开,这里就做一个简单的了解

同样的,文字部分“STAR’web“也是由<h1>标签构成的

css介绍

概念:层叠样式表,英文全称为Cascading Style Sheets,用来控制网页样式和布局的语言。通过CSS,你可以为网页的文字、颜色、大小、间距、背景、边框等元素添加样式,使网页变得更加美观和用户友好。

例子:如下图所示,其中的style属性就是css语言,用来将文字“STAR’web“设置为深红色

总结:html和css不分家,它们之间是相辅相成的关系

第二阶段

互联网原理

前言

互联网原理:上网即请求数据

上网过程:用户通过客户端发送http请求到服务端,服务端将请求对应的数据找到后,通过http响应回传给本地计算机,计算机加载网页

总结:根据上面所示的信息,上网需要浏览器、服务器、传输数据需要用到http协议,这些将在下面做出详细的讲解

服务器

概念:是一种计算机,有自己的内存和处理器

作用:用来存储网页上的所有文件,比如html、css、js、图片、视频、音频等这些

浏览器

作用:发送http请求,接收回传的数据,渲染网页

工作原理:在网址栏输入网址后向服务器发送请求,服务器响应后返回数据到浏览器后渲染

-第一次加载一个网页,时间较长,从第二次以后打开同一个网站的速度变快,原因就是因为第一次浏览时,已经将大部分文件存储到了本地,会先从本地进行查找

http协议

概念:超文本传输协议,是一种用于分布式、协作式、超媒体信息系统的应用层协议

用途:主要用来传输如视频、音频、图片等这些的网络资源

特性:无连接的(因为每次都需要断开tcp连接,所以重新连接需要重新请求)

-但需要注意的是从http1.1版本开始http协议就不再是无连接的,在这之前的http建立连接都需要重新请求,如下图所示

-渲染相应页面:客户端与服务器断开连接,由客户端解析从服务端发过来的html文档,在屏幕上渲染图形结果

纯文本和超文本

纯文本文件类型:不含特殊格式的文本文件,如.txt .html .css .js

超文本文件类型:含有特殊格式的文本文件(比如字体加粗等),如.doc .ppt

其中我们正在学习的html就是纯文本文件类型,并且所有纯文本编辑器都可以用来编写html

第三阶段

html骨架与基本语法

基本骨架

举个例子,下图所展示的为html的源代码

-!DOCTYPE:表示文档类型(后边写的html表示文档类型是html);其中“!”表示声明

只要是加这个声明标签的,浏览器就会把下边的源代码当作html解析

<html>:整个网页都需要被<html></html>包裹

-lang:表示网站的主体语言,如下图所示

-<head></head>:表示网页配置,比如配置字符类型为utf8类型(字符类型的区别如下图所示,需要补充的是若网页是面向国际化的用utf-8,如果是面对国内的用gbk字符集

-meta:表示基本配置,写在<head>标签内

<meta name="viewport" content="width=device-width, initial-scale=1.0">

这段代码是用于设置网页的视口(viewport)属性,主要是为了让网页在移动设备上能够自适应屏幕大小并正常显示。(对应了网页的基本配置)效果对比如下

不加这段代码

加了这段代码(明显针对手机开启了自适应的模式)

-<title>标签:用来管理浏览器选项卡的名称

-<body>标签:设置我们在浏览器能看到区域的网页内容,比如我们之前举例的“pikachu”按钮

补充

keywords关键字:<meta>标签中的keywords关键字的用途:搜索引擎抓取页面的原理(通过下面的关键词搜索进行抓取网站)

description关键字:同样的也是meta标签中的,用来描述网站的信息

基本语法

标签格式规则
  1. 标签名必须书写在一对尖括号<>内部
  2. 标签分为单标签和双标签,双标签必须成对存在,有开始标签和结束标签
  3. 结束标签必须有关闭符号/
  4. 根据标签内部存放的内容不同,将不同的标签划分为两个级别

其中双标签必须成对存在,有开始标签和结束标签

单标签

双标签

img

h1-h6

br

div

hr

span

p

a

ul+li

<br>:换行

<hr>:表示水平分割线,用于分割内容

<div>:定义页面中的块级元素,用于分组或布局

<ul>:创建无序列表 <li>:列表项,用于放置具体内容

无序列表如下图所示

<p>:换行

<span>改变字体颜色、字体大小、字体样式,添加特定的标记,使用JavaScript来操作<span>元素,实现一些动态效果或交互功能

根据标签的种类区分两个等级:容器级,文本级

容器级:元素内部除了可以存放文本外,还可以嵌套各种类型的标签

文本级:元素内部只能存放文本或文本标签

容器级标签

文本级标签

div,ol,ul,li,dl,dt,dd,h1-h6

span,img,b,u,i

标签属性

概念:赋予标签一些特殊性质,给标签加上某些性质就相当于给标签赋予了职能(前提是标签必须具备这些职能)————比如:<a></a>标签具备链接性质,后边的属性value可以填上一些网址链接,这样用户可以通过页面点击链接,当然就算不填网址,这个标签依然具备链接属性,只不过并不会跳转网页

书写位置:在开始标签或单标签的标签名后面,添加一个空格,空格后边书写属性(href=x)

--href是键(key),x是属性值(value)

href:指定超链接目标的URL,是<a></a>标签专属属性

实例:

<a href="www.baidu.com" title="我是title"></a>

像上句这样连续写两个属性,要用空格隔开

注意:文字的位置是根据标签种类决定

  1. 标签与其他标签之间对空白、换行、缩进等不敏感,有没有空白不影响浏览器加载效果
  2. 在上传代码过程中,为了提高传输速度,可以将代码进行压缩,删除多余的空白,目的就是为了压缩文件的大小
  3. 标签之间还有嵌套关系

空白折叠现象:不会因为一直空格而显示很多空白(除非用标签&nbsp进行空格留白)

第四阶段

html常用标签

常用标签

1. 文档结构

  1. <!DOCTYPE html>:声明HTML文档类型。
  2. <html>:定义HTML文档的根元素。
  3. <head>:定义文档头部,包含元数据。
  4. <title>:设置网页标题,浏览器标签页显示。
  5. <body>:定义网页的主体内容。

2. 文本格式化

  1. <h1> ~ <h6>:定义标题,<h1>是最高级,<h6>是最低级。

-注意:标题系列标签有助于浏览器搜索的优化,搜索引擎抓取标题的内容,h1标签的权重最大,但一个页面只能使用一个h1标签,如果使用多个h1标签那么搜索优先级会降低

  1. <p>:定义段落。
  2. <br>:换行。
  3. <strong>:加粗文本,语义上表示强调。
  4. <em>:斜体文本,语义上表示强调。
  5. <b>:加粗文本(只是样式,语义不如<strong>)。
  6. <i>:斜体文本(只是样式,语义不如<em>)。
  7. <u>:下划线文本。

3. 链接与图片

  1. <a>:定义超链接。
  2. <img>:插入图片,需设置 src 属性指向图片地址。
  3. 格式: <img src="hello/ma.jpg" alt="">

-src属性:图片源;

-alt属性:图片替换文本(当图片不显示的时候会显示我们写上去的文本)

注意:hello文件和ma.jpg要放在此源代码文件夹下才会显示出来

<img src="images/1.jpg" title="鸟巢的远景">

其中title属性的作用是设置鼠标悬在图片上时看到的文本

  1. <link>:连接外部资源,通常用于外部样式表。
  2. <meta>:定义网页的元数据,如字符集、描述、关键字等。

4. 列表

  1. <ul>:无序列表。
  2. <ol>:有序列表。
  3. <li>:列表项。
  4. <dl>:定义定义列表。
  5. <dt>:定义定义列表项的标题。
  6. <dd>:定义定义列表项的描述。

5. 表格

  1. <table>:定义表格。
  2. <tr>:定义表格的行。
  3. <td>:定义表格的单元格。
  4. <th>:定义表格头部单元格,通常为加粗居中的文本。
  5. <caption>:定义表格的标题。

相对路径和绝对路径

(还是以上边的图片嵌入为例)

--相对路径:从当前文件或目录的位置出发,指定目标文件或目录的路径。

--绝对路径:从文件系统的根目录开始,完整指定文件或目录的位置路径。

比如相对hello文件夹(文件路径为F:\hello),ma.jpg的相对路径为hello/ma.jpg,ma.jpg的绝对路径为F:\hello\ma.jpg

--html源代码文件:就是包括这行代码的源代码文件

锚点

锚点:HTML中的一种标记,用于在同一页面内或不同页面之间创建可跳转的链接位置。

<a></a>(在指定位置添加一个超级链接);需要注意的是锚点中的锚和点的使用方法不同。

--a标签的几个属性:

1.href:可以跳转链接;也可以跳转html文件

2.target属性(要搭配_blank关键词):是否在新标签页打开链接(点击链接后会打开一个新标签页然后加载内容)

【页面内跳转锚点的设置有两种方法】

关于页面内锚点的概述:如下图所示,就是我们看一些网页上面的索引

方法一:通过设置标签a的name属性达到页面跳转锚点的方法

,href属性,后面一定要加#

<a href="#jbxx">基本信息</a>

锚点的点,name属性设置成跳转的链接

<a name="jbxx"></a>

方法二:设置锚点的点为标签的id属性

<a href="#jbxx">基本信息</a>

锚点的点由原来的a标签的name属性变为了其他标签id属性,使用方法跟href一致

<h3 id="jbxx">基本信息</h3>

这种方法是直接在我们的<h3>标签标题中直接引入id属性(id属性适配所有html标签)

第五阶段

html标签的基本使用

无序列表

作用:定义一个没有顺序的列表结构

由两个标签组成<ul>以及<li>(两个标签都属于容器级标签,其中ul只能嵌套li标签,但li标签能嵌套任何标签,甚至ul标签

ul:ulordered list(无序列表)

li:list item(列表项)

基本使用格式:

<h2>古典四大名著</h2>

<ul>

    <li>三国演义</li>

    <li>西游记</li>

    <li>红楼梦</li>

    <li>水浒传</li>

</ul>

有序列表

作用:定义一个有序列表的列表结构

需要两个标签:<ol>和<li>标签

ol:ordered list(有序列表)

ol内部只能嵌套li标签,而li标签内部可以嵌套任何标签包括ol标签(跟ul基本一致)

定义列表

作用:定义一个自定义标题和内容的列表结构

组成:dl,dt,dd

dl:definition list 表示创建一个自定义列表结构

dt:definition term 表示创建一个自定义主题

dd:defination description 表示对前面主题的描述说明

【使用格式】

<h2>国内女明星</h2>

<dl>

    <dt>杨幂</dt>

    <dd>作品:《三生三世》、《宫》、《仙剑奇侠传》等</dd>

    <dt>赵丽颖</dt>

    <dd>作品:《花千骨》、《楚乔传》、《陆贞传奇》等</dd>

    <dt>刘诗诗</dt>

    <dd>作品:《步步惊心》、《仙剑奇侠传》、《女医明妃传》等</dd>

</dl>

注意:dd标签内也可以嵌套许多标签

第六阶段

表格

表格主要有三个标签组成

table:作用是定义了一个表格的结构

tr:table rows(定义了表格的行)

td:table dock(定义表格的单元格),是左对齐普通文字文本

嵌套关系:table嵌套tr嵌套td

格式如下(示例为构造一个三行四列表格)

<table border="1" style="border-collapse:collapse">

    <tr>

        <td>1行,第1</td>

        <td>1行,第2</td>

        <td>1行,第3</td>

        <td>1行,第4</td>

    </tr>

    <tr>

        <td>2行,第1</td>

        <td>2行,第2</td>

        <td>2行,第3</td>

        <td>2行,第4</td>

    </tr>

    <tr>

        <td>3行,第1</td>

        <td>3行,第2</td>

        <td>3行,第3</td>

        <td>3行,第4</td>

    </tr>

</table>

table标签有两个属性border以及style

-border属性:是用来设置表格的边框宽度

-style属性:用于内联CSS样式,可以用来定义表格的样式,包括边框、颜色、合并单元格等

设置表头代码

tr嵌套th

其中设置的文字自动加粗

格式

<table border="1" style="border-collapse:collapse">

    <tr>

        <td>1行,第1</td>

        <td>1行,第2</td>

        <td>1行,第3</td>

        <td>1行,第4</td>

    </tr>

    <tr>

        <td>2行,第1</td>

        <td>2行,第2</td>

        <td>2行,第3</td>

        <td>2行,第4</td>

    </tr>

    <tr>

        <td>3行,第1</td>

        <td>3行,第2</td>

        <td>3行,第3</td>

        <td>3行,第4</td>

    </tr>

<tr>

     <th>1</th>

     <th>2</th>

     <th>3</th>

     <th>4</th>

</tr>

</table>

单元格合并

colspan:左右跨列合并

rowspan:上下跨行合并

其中后边的数字就是我们要跨几行或几列合并的几个

步骤:

  1. 确定一行有多少列
  2. 然后我们再看一共有几行
  3. 观察哪个单元格有合并,设置对应属性

案例:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

这个表格的代码如下:

<table border="1" style="border-collapse: collapse;">

    <tr>

        <td colspan="2">1</td>

        <td rowspan="2">2</td>

        <td colspan="3">3</td>

        <td>4</td>

    </tr>

    <tr>

        <td rowspan="2">5</td>

        <td>6</td>

        <td>7</td>

        <td>8</td>

        <td  rowspan="2">9</td>

        <td>10</td>

    </tr>

    <tr>

        <td rowspan="2">11</td>

        <td>12</td>

        <td colspan="2">13</td>

        <td rowspan="2">14</td>

    </tr>

    <tr>

        <td>15</td>

        <td>16</td>

        <td>17</td>

        <td colspan="2">18</td>

    </tr>

</table>

        <td rowspan="2">11</td>

        <td>12</td>

        <td colspan="2">13</td>

        <td rowspan="2">14</td>

    </tr>

    <tr>

        <td>15</td>

        <td>16</td>

        <td>17</td>

        <td colspan="2">18</td>

    </tr>

</table>

表格分区

一个完整的表格主要包含三个部分:表格标题、表格表头、表格的主题

一个table内部实际还有三个分区标签组成

caption:定义表格的主题

thead:定义表格的头部,内部嵌套tr>th

tbody:定义表格主题,内部嵌套tr>td

例如下图所示

<table border="1">

    <!-- 主题分区 -->

    <caption>各地区资产投资情况</caption>

    <!-- 表头分区 -->

    <thead>

        <tr>

            <th rowspan="2">地区</th>

            <th colspan="2">按总量分</th>

            <th colspan="2">按比重分</th>

        </tr>

        <tr>

            <th>自年初累计(亿元)</th>

            <th>去年同期增长(%</th>

            <th>自年初累计(%</th>

            <th>自年同期(%</th>

        </tr>

    </thead>

    <!-- 主体分区 -->

    <tbody>

        <tr>

            <td>全国</td>

            <td>234234</td>

            <td>9.8</td>

            <td>100.0</td>

            <td>100.0</td>

        </tr>

        <tr>

            <td>全国</td>

            <td>234234</td>

            <td>9.8</td>

            <td>100.0</td>

            <td>100.0</td>

        </tr>

        <tr>

            <td>全国</td>

            <td>234234</td>

            <td>9.8</td>

            <td>100.0</td>

            <td>100.0</td>

        </tr>

        <tr>

            <td>全国</td>

            <td>234234</td>

            <td>9.8</td>

            <td>100.0</td>

            <td>100.0</td>

        </tr>

        <tr>

            <td>全国</td>

            <td>234234</td>

            <td>9.8</td>

            <td>100.0</td>

            <td>100.0</td>

        </tr>

    </tbody>

</table>

上面代码中,caption标签在table标签中就是标题的书写

form表单

基本属性

容器级标签,涉及到input标签

示例

其中action属性:数据提交的位置

-type属性:text意思是输入进去的是明文,

如果换成password那么输入进去的就会变成掩码,如下图

input标签涉及两个属性:value,placeholder

--value设置默认显示内容(就是进入输入框页面后看到的内容)

--placeholder没有value内容,提示用户的文字占位符

实现效果如下图所示

placeholder与value的区别:前者只是会显示文本而不占用我们输入的内容,后者其实就相当于我们输进去的文本,可以删除和修改

单选框

方法:通过type值的radio属性设置

示例

<p>

    &nbsp;别:

    <input type="radio" name='sex'>

    <input type="radio" name='sex'>

    <input type="radio" name='sex'>保密

</p>

注意:其中name后边的属性可以随便写,但需要注意的是如果三个name属性写的一样的话,那么在这三个单选框中每次只能选择一个(单选框互斥)

多选框

方法:通过type值中的checkbox属性设置

性质:可以通过对自身进行多次点击实现选择或者取消

样式:

<p>

    &nbsp;好:

    <input type="checkbox" name="hobby"> 运动

    <input type="checkbox" name="hobby"> 绘画

    <input type="checkbox" name="hobby"> 音乐

    <input type="checkbox" name="hobby"> 阅读

    <input type="checkbox" name="hobby"> 其他

</p>

关于复选框为什么还要加name属性:

name属性的性质是唯一标识,我们在前端写的代码传入后端进行处理如果有name属性的话会更加方便快捷一些,分类也更加清晰,跟单选框我们用name属性的用途不太一样,但name属性的性质不变,都是唯一标识。

单选框与复选框共同选择

示例

<p>

            &nbsp;别:

            <input type="radio" name='sex' checked="checked">

            <input type="radio" name='sex'>

            <input type="radio" name='sex'>保密

        </p>

        <p>

            &nbsp;好:

            <input type="checkbox" name="hobby"> 运动

            <input type="checkbox" name="hobby" checked="checked"> 绘画

            <input type="checkbox" name="hobby"> 音乐

            <input type="checkbox" name="hobby"> 阅读

            <input type="checkbox" name="hobby"> 其他

        </p>

其中涉及的是checked属性

实现框的点击范围扩大的方法

现象:前面的这些,只能点击其中的框进行选择,我们如果想要点击文字进行选择,那么需要使用label标签

代码实现

<label>

    <input type="radio" name='sex' checked="checked">

</label>

在我们的输入框上下加一个label标签即可

文本域

textarea标签:双标签,文本级

属性值包括:rows,cols

rows:定义文本域的可视区域有几行

cols:当前行显示的字节数量(以英文为准),单位是数字

代码实现

<textarea rows="4s" cols="50"  placeholder="请输入自我介绍" style="resize:none"></textarea>

其中style=“resize:none”的意思是去掉可拖拽区域(因为文本域默认是能进行拖拽放大和缩小的,如下图所示)

不加style=“resize:none”

加了style=“resize:none”,注意右下角的变化

下拉菜单

效果

标签:select,option

关系:select<option(select嵌套option)

代码实现

如果想要实现某个内容为页面显示的,可以将其<option>提到最上边或者用select属性

代码实现

效果

第七阶段

html注释

注释符号:<!-- -->

快捷键:ctrl+/

div标签定义HTML文档中的一个分隔区块或者一个区域部分

--div标签中属性:class(自定义一个类,类名可以随便写)

字符实体

当我们使用h1标签的时候,<h1>会直接加粗文字,如果用&lt;代替<,那么文字就不会加粗,而是在页面直接显示<h1>


http://www.kler.cn/a/529150.html

相关文章:

  • oracle: 多表查询之联合查询[交集intersect, 并集union,差集minus]
  • Bash 基础与进阶实践指南
  • C# 环境:深入探讨与优化
  • FIDL:Flutter与原生通讯的新姿势,不局限于基础数据类型
  • Android记事本App设计开发项目实战教程2025最新版Android Studio
  • CAN总线数据采集与分析
  • Selenium 使用指南:从入门到精通
  • 17.2 图形绘制8
  • ASP.NET Core与配置系统的集成
  • redex快速体验
  • 力扣动态规划-16【算法学习day.110】
  • 《苍穹外卖》项目学习记录-Day5在Java中操作Redis_Spring Data Redis
  • torch numpy seed使用方法
  • Easy系列PLC尺寸测量功能块(激光微距应用)
  • 2007-2019年各省科学技术支出数据
  • A4988一款常用的步进电机驱动芯片
  • 项目架构调整,切换版本并发布到中央仓库
  • Java篇之继承
  • Flink报错Caused by: java.io.FileNotFoundException: /home/wc.txt
  • Ubuntu16.04编译安装Cartographer 1.0版本
  • NoteGen:记录、写作与AI融合的跨端笔记应用
  • Java开发vscode环境搭建(二)-项目启动补充
  • XML DOM 获取节点值
  • S4 HANA给科目分配允许记账的税码
  • FLTK - FLTK1.4.1 - demo - arc
  • 【愚公系列】《循序渐进Vue.js 3.x前端开发实践》042-Vite工具入门