开发者社区> ArimaMisaki> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

一幅长文细学HTML5

简介: 在本文的学习中,我们会讲述HTML5新增的特性。HTML5并不是一种新的语言,而是HTML语言的第五次重大修改版本。现如今很多主流浏览器都支持H5如chrome、firefox、safari。IE9及以上支持h5,IE8以下则不支持。 H5改变了用户与文档的交互方式。在以前的传统的HTML中,我们使用的是flash来插入多媒体。但在H5中,它兼收了flash的一些特性。 相对于H4来说,H5抛弃了许多不合理的标记和属性,新增了一些标记和属性。还增加了许多新的语义使得代码的可读性更好。其他的如二维三维变化、特效、本地存储特效等特性,我们在下面的学习中慢慢讨论。
+关注继续查看

HTML5

摘要

​ 在本文的学习中,我们会讲述HTML5新增的特性。HTML5并不是一种新的语言,而是HTML语言的第五次重大修改版本。现如今很多主流浏览器都支持H5如chrome、firefox、safari。IE9及以上支持h5,IE8以下则不支持。

​ H5改变了用户与文档的交互方式。在以前的传统的HTML中,我们使用的是flash来插入多媒体。但在H5中,它兼收了flash的一些特性。

​ 相对于H4来说,H5抛弃了许多不合理的标记和属性,新增了一些标记和属性。还增加了许多新的语义使得代码的可读性更好。其他的如二维三维变化、特效、本地存储特效等特性,我们在下面的学习中慢慢讨论。

声明:在使用本文的代码时,为了避免文章冗长,我只附上了body标签内的代码供演示,如有需要详细代码可以前往代码仓库获取

作者:来自ArimaMisaki创作

[TOC]

1.1 HTML概述

1.1.1 网页

  • 网页是指在因特网上按照一定的规则,使用HTML等制作的用于展示特定内容相关的网页集合。
  • 网页是网站中的一页,通常是HTML格式的文件,它要通过浏览器来阅读。
  • 网页是构成网站的基本元素,它通常由图片、链接、文字、声音、视频等元素组成。通常我们看到的网页,常常为以.htm或.html后缀结尾的文件,故俗称HTML文件。


1.1.2 HTML

HTML指的是超文本标记语言(Hyper Text Markup Language),它是用来描述网页的一种语言。它不是一种编程语言,而是一种标记语言,通过标签的控制来书写内容。如果你学过XML你或许能理解。

网页是由网页元素组成的,这些元素是利用html标签描述出来,然后通过浏览器解析来显示给客户的


1.1.3 Web标准

我们在潜移默化中已经形成了一套标准,一个网页的组成可以分为结构表现行为。其中结构由HTML控制,即网页的内容;表现由CSS控制,即网页元素的位置和美化;行为由JavaScript控制,即网页模型的定义和交互。以上的标准我们最好各司其职,不要逾越。


1.1.4 一些术语

元素节点(元素):通常指的是HTML某个标签及其内容,如\<h1>\</h1>表示标题。

样式:通常指的是美化及位置控制,如标题应该放在网页的中间还是左边,应该是绿色还是红色。


1.2 HTML基本页面

1.2.1 标签

说明:HTML标签是由尖括号包围的关键词,例如\<h1>。h1标签通常是成对出现的,例如\<h1>和\</h1>我们称其为双标签。标签对中的第一个标签是开始标签,第二个标签是结束标签

HTML标签并不全是双标签,比如单标签\<br>,它通常被用作换行。标签中还可以指定内容的属性,写法采用键值对方式key = "value"。属性包含了元素的额外信息。其中==值的引号可写可不写==,但是习惯上大家还是会写上。==元素可以同时存在多个属性==,属性之间以空格的方式隔开,标签名与属性之间也是,属性之间是无序的。


1.2.2 标签关系

说明:双标签关系可以分为两类:包含关系并列关系


1.2.3 注释

注释格式:\<!-- 注释内容 -->

提示:如果是使用VScode,那么你只需要选中注释内容,然后ctrl+/


1.2.4 基本骨架

说明:每个网页都会有一个基本结构标签,我们称之为骨架标签。页面的内容也是在这些基本标签上书写。如果我们想要使用VsCode编译器来快速生成一个基本页面,可以敲下!然后回车,或者敲下html:5然后回车。下面演示一个基本页面:

<!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>
    <!-- 网页中显示的内容 -->
    你好
</body>
</html>

我们对基本页面中的标签做一下解释:

标签名定义说明
\<html>\</html>HTML标签页面中最大的标签,我们称为根标签
\<head>\</head>>文档的头部注意在head标签中我们必须要设置的标签是title
\<title>\</title>文档的标题让页面拥有一个属于自己的网页标题
\<body>\</body>文档的主体元素包含文档的所有内容,页面内容基本上是放到body里面的

对其余的符号做一下解释:

其余符号作用
\<!DOCTYPE html>表明HTML网页版本
lang(意味language)定义当前文档显示的语言,一般是en(English)或者zh-CN(中文),除此之外还有fr(法语)等。
charset(Character Set,字符集)多个字符的集合,以便计算机能够识别和存储各种文字,在head标签内可以使用\<meta>标签的charset属性来规定HTML文档应该使用哪种字符编码。常用UTF-8、GBK、GB2312


1.3 文本标签

1.3.1 排版标签

排版标签说明
标题标签双标签\<h1>\</h1>,其中可选h1到h6。意为最多支持六级标题
段落标签双标签\<p>文字内容\</p>,其中段落文字写于标签之中
换行标签单标签\<br/>或\</br>,意为重新开始一行
水平线标签单标签\<hr>,意为生成一条水平线,常用于分割不同主题内容
<body>
    <h1>一级标题</h1>
    <h2>二级标题</h2>
    <h3>三级标题</h3>
    <h4>四级标题</h4>
    <h5>五级标题</h5>
    <h6>六级标题</h6>
    <p>段落</p>
    <br>
    <hr>
</body>


1.3.2 文本格式化标签

说明:格式化并不是清空的意思,而是让文本具有某种格式的意思。通过文本格式化标签,我们可以对特定的文字施加各种效果。

标签说明
b加粗
strong加粗
u下划线
ins下划线
i倾斜
em倾斜
s删除线
del删除线
<body>
    <b>加粗</b>
    <strong>加粗</strong>
    <u>下划线</u>
    <ins>下划线</ins>
    <i>倾斜</i>
    <em>倾斜</em>
    <s>删除线</s>
    <del>删除线</del>
</body>


1.4 语义标签

1.4.1 无语义标签

div标签:双标签\<div>文字内容\</div>,div标签相当于一个盒子,可用于存放多个内容,多次声明div标签可创造不同的盒子且==位于不同行==。

span标签:双标签\<span>文字内容\</span>,span相当于一个盒子,与div不同的是,不管你使用几次标签,填写的内容都会位于同一行。

<body>
    <div>普通文字</div>
    <div>普通文字</div>
    <span>普通文字1</span>
    <span>普通文字1</span>
</body>


1.4.2 语义标签

说明:在HTML5新版本中,推出了一些有语义的布局标签供开发者使用。这些标签多用于手机端网页开发。

标签名语义
header网页头部
nav网页导航
footer网页底部
aside网页侧边栏
section网页区块
aticle网页内容
main文档主要内容

image-20220710162232149


1.5 多媒体标签

1.5.1 图像标签

格式:\<img src="" alt="" title="" width="" height="" border="">

属性说明

属性说明
alt = ""当图片加载失败时,显示alt指定的文本
title = ""当鼠标悬停在图片上时显示的提示信息
width和height用于设置图片宽度和高度,但是一般只设置其中一个,另一个则会根据设置等比例放大缩小,若两个都设置如果没有等比例缩小或放大则图片会扭曲。
border设置图像的边框粗细
<body>
    <img src="./0.jpg" alt="图片加载失败" title="图片来自ArimaMisaki" width="400px" border="2px">
</body>


1.5.2 音频标签

单标签格式:\<audio src="" controls="" autoplay="" loop="">

双标签格式:\<audio>\<source src="" type="">\</audio>

说明:由于音频标签目前只支持三种格式:MP3、Wav、Ogg,如果我们轻易换掉视频源,则会导致audio单标签可能无法播放,为此我们提出了双标签。在音频中可以指定多个source,不同的source中存放的是不同格式的同个音频,这样方便浏览器选择可用的播放源

属性说明

属性名功能
src音频路径
controls显示播放控件
autoplay自动播放(部分浏览器不支持)
loop循环播放


1.5.3 视频标签

说明

  • 将音频标签的audio改为video即可。
  • 使用embed也可以直接插入视频文件,它的本质是调用本机上已经安装的文件,具有兼容性。
  • 可以使用flash,但是会增加使用成本,且该方法已经被淘汰。
  • 视频标签目前只支持三种格式:MP4、WebM、Ogg。
  • 当设置视频宽高时,HTML5为了保持原视频比例,设置的宽高中只会生效一个参数。故平时设置视频组件时只会设置宽高中的其中一个参数。==这种做法不仅仅是对于视频比例,图片比例也是一样==。

属性说明

属性名功能名
src音频路径
controls显示播放控件
autoplay自动播放(谷歌浏览器要自动播放需要加上muted)
loop循环播放
width组件宽度
height组件高度
poster还未播放前视频的封面,默认是视频的第一帧,可指定路径
preloadauto或none,规定是否预先加载视频,如果有了autoplay,就忽略该属性
muted静音播放
<body>
    <video type="mp4" width="300px" controls autoplay loop poster muted>
        <source src="./TestAudio.mp4">
    </video>
</body>


1.6 超链接

说明:超链接就是点链接就能跑到其他地方的玩意。

格式:\<a href = "目标网页">超链接名字\</a>

链接中的target属性

取值效果
_self默认值,在当前窗口中跳转
_blank在新窗口中跳转(保留原网页)

链接分类

  • 外部链接:\<a href = "http://www.baidu.com">百度\</a>
  • 内部链接:\<a href ="index.html">首页\</a>
  • 空链接:\<a href =#>首页\</a>
  • 下载链接:如果href的地址是一个文件或者压缩包,点击则会下载这个文件
  • 网页元素链接:在网页中的各种元素,如文本、图像、表格、音频、视频都可以添加超链接
  • 锚点链接:在a标签的href属性中设置属性值为#id值,然后在目标位置标签添加id属性,并设置id值即可
<body>
    <a href="http://www.baidu.com">百度链接</a>
    <a href="./1_5_3.视频标签.html">内部链接</a>
    <a href="#">空链接</a>
</body>


1.7 列表

1.7.1 列表种类

有序列表:每条内容前都有序号

无序列表:每条内容前都有符号

自定义列表:自己定制的列表


1.7.2 无序列表

标签名说明
ul(Unordered list)表示无序列表的整体,用于包裹li标签
li(list)表示无序列表的每一项,用于包含每一行的内容


1.7.3 有序列表

标签名说明
ol(Ordered list)表示有序列表的整体,用于包裹li标签
li(list)表示有序列表的每一项,用于包含每一行的内容


1.7.4 自定义列表

标签名说明
dl(defined list)表示自定义列表的整体,用于包裹dt/dd标签
dt(defined title)表示自定义列表的标题
dd(defined data)表示自定义列表的针对主题的每一项内容


1.7.5 列表演示

<body>
    <ol>
        <li>第一行</li>
        <li>第二行</li>
        <li>第三行</li>
    </ol>

    <ul>
        <li>第一行</li>
        <li>第二行</li>
        <li>第三行</li>
    </ul>

    <dl>
        <dt>标题</dt>
        <dd>第一行</dd>
        <dd>第二行</dd>
        <dd>第三行</dd>
    </dl>
</body>


1.8 表格

1.8.1 表格标签

标签名说明
table表格整体,可用于包裹多个tr
tr(table row)表格每行,可用于包裹td
td(table data)单元格内容
caption表格大标题,写于table标签内部。表示表格整体大标题,默认在表格整体顶部居中位置显示
th(table header)表头单元格,写于tr标签内部。表示一列小标题,通常用于表格第一行,默认内部文字加粗并居中显示
thead表格头部
tbody表格主体
tfoot表格底部


1.8.2 表格标签属性

属性名属性值效果
border数字边框宽度
width数字表格宽度
height数字表格高度


1.8.3 合并单元格

说明:合并单元格分为跨行合并跨列合并,只有同一个结构标签中的单元格才能合并,不能跨结构标签合并。

属性名属性值说明
rowspan合并单元格的个数跨行合并
colspan合并单元格的个数跨列合并


1.8.4 表格演示

<body>
    <table border="2" cellspacing="0" cellpadding="">
        <caption>学生成绩单</caption>
        <thead>
            <tr>
                <th>姓名</th>
                <th>成绩</th>
                <th>评语</th>
            </tr>
        </thead>
        <tbody>
            <tr>
                <td>张三</td>
                <td>100分</td>
                <td>成绩不错</td>
            </tr>
        <tbody>
        <tfoot>
            <tr>
                <th>总结</th>
                <th colspan="3">品质兼优 德才兼备</th>
            </tr>
        </tfoot>
    </table>
</body>


1.9 表单标签

1.9.1 表单标签汇总

表单标签说明

标签描述
\<form>定义供用户输入的表单
\<input>定义输入域
\<label>绑定内容和表单标签的关系
\<textarea>定义文本域 (一个多行的输入控件)
\<fieldset>定义了一组相关的表单元素,并使用外框包含起来
\<legend>定义了 \<fieldset> 元素的标题
\<select>定义了下拉选项列表
\<optgroup>定义选项组
\<option>定义下拉列表中的选项
\<button>定义一个点击按钮
\<datalist>和select下拉菜单标签类似,搭配text文本框可以输入文字
\<keygen>密钥对生成器
\<output>用于放置输出内容
<body>
    <h1>账号注册</h1>
    <br>
    <form action = "">
        <form action="">
            <!-- 文本框 -->
            账号:<input  type="text" placeholder="邮箱/手机号码/ID">
            <br>

            <!-- 密码框 -->
            密码:<input type = "password" placeholder="密码">
            <br>

            <input type="reset" value="重置按钮">
        </form>

        

        <!-- 单选框+label标签 -->
        <input type="radio" name = "sex" id = "nan"><label for="nan">男</label>
        <input type="radio" name = "sex" id = "nv"><label for="nv">女</label>
        <br>

        <!-- 下拉菜单 -->
        所在地:<select>
            <option>意大利</option>
            <option>美国</option>
            <option selected>中国</option>
        </select>
        <br>

        <!-- 多选框 -->
        是否单身:<input type = checkbox>

        <!-- 提交按钮 -->
        <input type = submit value = "注册账号">
    </form>
    <br>

    <!-- 文件选择框 -->
    提交头像:<input type = file multiple>
    <br>

    <!-- 文本域 -->
    <Textarea cols = 12 rows = 3></Textarea>
    <br>

    <!-- 普通按钮 -->
    <input type = button value = "测试按钮1">
    
    <!-- 按钮标签 -->
    <button type = button>测试按钮2</button>

    <form action="" method="post">
        <fieldset>
            <legend>请选择你的爱好:</legend>
    
            <select name="myhobby" id="myhobby">
                <optgroup label="运动">
                    <option value="羽毛球">篮球</option>
                    <option value="乒乓球">足球</option>
                </optgroup>
                <optgroup label="娱乐">
                    <option value="看电影">看电影</option>
                    <option value="看小说">看电视</option>
                </optgroup>
            </select>
        </fieldset>
    </form>

    <form action="" method="post">
        <input list="browsers">
        <datalist id="browsers">
            <option value="Internet Explorer">
            <option value="Firefox">
            <option value="Chrome">
            <option value="Opera">
            <option value="Safari">
        </datalist>
    </form>
</body>


1.9.2 Input标签

说明:input属于单向标签,其必须指定属性type使其具有不同的功能。

搭配:对于按钮表单标签来说,如果在没有添加==预标签form==的情况下,是无法实现其功能的。如果想要使功能和对应的组件相结合,就需要把实现功能的组件和该按钮放在同一个地方,用form括起来即可。

type属性说明

type属性值说明
text文本框
password密码框
radio单选框
checkbox多选框
file文件选择
submit提交按钮,点击之后提交数据给后台服务器
reset重置按钮,点击之后恢复表单默认值
button普通按钮,默认无功能,配合js可以添加功能
email邮箱框,提供了邮箱格式的完整验证
tel电话框,==可以在移动端提供数字键盘==
url网址框,提供合法网址的输入
number数量框,提供单位数量控制以及控制数字输入
search查找框,可以清空输入框的内容
range滑动条,可用于调解音量
time时间选择框,支持时分秒
date日期选择框,支持年月日
datetime只有safari和edge支持,等价于datetime-local
datetime-local日期选择框,支持年月日时分秒
month设置月份
week设置周

input标签的其他属性说明

附加属性说明
value用于指定按钮上的文字,submit和reset按钮默认有文字;指定数量框的默认值;指定滑动条的默认值
multiple用于一次性上传多个文件
placeholder文本框中出现提示内容
name用于单选框和多选框分组,同个组中只能有一个选项被选中
checked用于单选框和多选框,指定默认选中的选项
autocomplete用于任何类型文本框,提示已经提交过的数据,只有两个值on或off
max指定数量框的最大值;指定滑动条的最大值
min指定数量框的最小值;指定滑动条的最小值
autocomplete用于任何类型文本框,自动获取焦点
required用于文本框,指定该文本框必须输入,否则无法提交
pattern用于文本框,可用正则表达式限定文本框输入内容


1.9.3 按钮标签

格式:\<button type = "">按钮文本\</button>

type属性说明

标签名type属性值说明
buttonsubmit提交按钮,点击之后提交数据给后台服务器
buttonreset重置按钮,点击之后恢复表单默认值
buttonbutton普通按钮,默认无功能,配合js可以添加功能


1.9.4 下拉菜单标签

标签说明

标签说明
select单标签,下拉菜单的整体
option单标签或双标签,下拉菜单的每一项

option属性说明

属性说明
selected可以指定默认选项
label在每个选项后面显示提示文字


1.9.5 文本域标签

文本域标签的属性

属性说明
col指定几列
rows指定几行


1.9.6 label标签

使用场景:可以扩展表单的范围

食用方法一

  1. 使用label标签把内容包裹起来
  2. 在表单标签上添加id属性
  3. 在label标签的for属性中设置对应的id属性值

食用方法二

  1. 直接使用label标签把内容和表单标签一直包裹起来
  2. 把label标签的for属性删除即可
<body>
    <label>
        <form action="">
            <input type="text">
            <label>
                <button type="reset">按钮</button>
                <p>点到我也可以点到按钮</p>
            </label>
        </form>
    </label>
</body>


1.9.7 datalist标签

说明

  • datalist是双标签,和select标签相同,里面可以嵌套option作为选项;
  • 使用datalist标签需要指定label属性的值为text标签的id属性的值,否则无法关联生效;
  • 如果datalist关联的并非是input的text类型,而是url类型,则要求选项option中的每一项都是网址格式,否则无法显示;
  • datalist不太实用,因为不同浏览器对这个标签的支持程度不同;


1.9.8 keygen(了解)

说明:keygen元素是密钥生成器。当提交表单时,会生成两个键,私钥存储于客户端,公钥则被发送到服务器;公钥可用于之后验证用户的客户端证书,即实现非对称加密。目前很少有浏览器支持该标签。


1.9.9 output(了解)

说明:属于语义标签,用于放置输出的内容,但是不能自动计算结果,需搭配js方式来动态修改结果。


1.10 框架标签

格式:\frameLabelStart--frameLabelEnd

说明:iframe标签用于网页内显示网页

scrolling取值说明

属性值说明
auto默认值,整个表格在浏览器页面中左对齐
yes总是显示滚动条,即使页面内容不足以撑满框架范围,滚动条的位置也预留
no在任何情况下都不显示滚动条
<body>
    <b>我们准备演示一个框架</b>
    <br>
    frameLabelStart--frameLabelEnd 
</body>


1.11 头部标签

标签描述
\<head>定义了文档的信息。
\<title>定义了文档的标题。
\<base>定义了页面链接标签的默认链接地址。
\<link>定义了一个文档和外部资源之间的关系。用于导入CSS文件
\<meta>定义了HTML文档中的元数据。
\<script>定义了客户端的脚本文件。
\<style>定义了HTML文档的样式文件。


1.12 字符实体

说明:文字中如果要显示多个空格,就需要用到字符实体。如果你在html中写入无数个空格,其渲染后也只会显示一个空格。

建议:对于字符实体不只有表示空格的,但是我们用的最多的是空格,其他的需要再查即可。

分类

image-20220404180340325

<body>
    我们坚持学习&nbsp;&nbsp;才能走向成功
</body>


1.13 Emmet语法

说明:Emmet语法的前身是ZenCoding,用于提高html和css的书写速度,在VSCode已经集成了该语法。

快速生成HTML结构语法

  • 生成标签只需输入标签名然后按tab即可。
  • 如果想要生成多个标签,只需输入标签名*数字即可。
  • 如果有父子级标签,可以用>。
  • 如果有兄弟级标签,可以用+。
  • 如果想生成一个带有类别的标签,可以使用==标签名.类名==然后按tab;如果想生成一个带有id的标签,可以使用==标签名#id==然后按tab。
  • 如果想要生成有序类别的div盒子,可以使用==.类名$*数量==。
  • 如果想要生成的标签里有初始内容,可以输入==标签{}==然后按tab。

快速生成CSS语法:只需采取简写即可,如width:200只需输入w200然后按tab即可。


1.14 进度条标签

格式:\<progress max = "" value = "">\</progress>

提示:绝大部分进度条还是使用div和CSS搭配制作

<body>
    <progress value="20" max="100"></progress>
</body>


1.15 度量条标签

格式:\<meter hign="" low="" max="" min="" value="">\</meter>

应用场景:常用于表示注册账号输入密码时的安全级别阶段

属性说明

属性说明
hign规定较高的值
low规定较低的值
max最大值
min最小值
value默认度量值
<body>
    <meter low="30" hign="60" max="100" min="0" value="30"></meter>
    <meter low="30" hign="60" max="100" min="0" value="50"></meter>
    <meter low="30" hign="60" max="100" min="0" value="70"></meter>
</body>


1.16 画布标签

说明:是在HTML5中新增的标签,用于在网页中生成图像,可以操作图像内容,还可以使用JavaScript操作的位图

格式:\<canvas id='canvas' width="" height="">\</canvas>

提示:知道有这个东西即可,在HTML5中不做过多讲解。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Yii2框架(五)日志的相关配置及使用
Yii2.0框架的日志操作如下,大概有五种方式: Yii::getLogger()->log($message, $level, $category = 'application') Yii::trace($message, $category = 'application'); Yii::error($message, $category = 'application'); Yii::warning($message, $category = 'application'); Yii::info($message, $category = 'application');
86 0
确保数字化业务成功的五个技巧
那些受到数字化转型影响最大的人可以助力或毁掉您业务的成功发展。本文介绍了如何利用他们的见解,解决他们的痛点,以及超出他们的预期。内部员工、客户、业务合作伙伴——任何将直接感受转型结果的人都应该参与您的数字化战略,否则,将导致失败。
65 0
1月19日云栖精选夜读:天文学+云计算,国家天文台-阿里云战略合作首年成果丰硕
国家天文台-阿里云天文大数据联合研究中心2017年度工作会议于2018年1月19日在杭州阿里巴巴西溪园区召开。国家天文台台长严俊,阿里云总裁胡晓明出席工作会议并共同开启了“天文数据挖掘”天池大赛。
3523 0
md5.c
/* md5.c - an implementation of the MD5 algorithm and MD5 crypt */ /* * GRUB -- GRand Unified Bootloader ...
617 0
md5.c
/* md5.c - an implementation of the MD5 algorithm and MD5 crypt */ /* * GRUB -- GRand Unifi...
542 0
微软推出HTML5实验室站点及两项原型技术
微软互操作策略部门推出了HTML5实验室站点(html5labs.interoperabilitybridges.com),将分享那些未被W3C或其他标准组织最终敲定的,早期的HTML5规范(原型技术)。
728 0
+关注
ArimaMisaki
一个认真并且每天保持学习的开荒者
文章
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载