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

一、HTML 完全指南:从零开始构建网页

文章目录

    • 前言
    • 一、 HTML 结构
        • 认识 HTML 标签
        • HTML 文件基本结构
        • 标签层次结构
        • 快速生成代码框架
    • 二、 HTML 常见标签详解
        • 2.1 注释标签
        • 2.2 标题标签 (`h1` - `h6`)
        • 2.3 段落标签 (`p`)
        • 2.4 换行标签 (`br`)
        • 2.5 格式化标签
        • 2.6 图片标签 (`img`)
        • 2.7 超链接标签 (`a`)
        • 2.8 表格标签
          • 基本使用
          • 合并单元格
        • 2.9 列表标签
          • 无序列表 (`ul`)
          • 有序列表 (`ol`)
          • 自定义列表(`dl`)
        • 2.10 表单标签
          • `form` 标签
          • `input` 标签
          • `label` 标签
          • `select` 标签
          • `textarea` 标签
        • 2.11 无语义标签:`div` 和 `span`
    • 三、HTML 特殊字符
    • 总结

前言

在现代互联网的世界中,网站已经成为我们日常生活的一部分。从社交媒体到购物平台,从博客到企业官网,每一个网站背后都依赖着一种技术——HTML(超文本标记语言)。作为构建网页的核心语言,HTML不仅为网页提供结构,还使得我们能够在浏览器中看到文本、图片、视频和其他多媒体内容。

对于许多刚接触网页开发的人来说,HTML可能显得陌生且复杂,但它的学习并不像想象中的那么困难, 希望我们可以耐心学习下去。本篇《HTML 完全指南:从零开始构建网页》将带领你从最基础的HTML概念开始,逐步掌握网页构建的核心技巧和最佳实践。无论你是希望建立一个简单的个人博客,还是准备开发一个企业网站,HTML都将是你最重要的起点。

在本篇博客中,我们将通过清晰的步骤和实用的示例,帮助你了解HTML的基本元素、标签、属性以及网页布局的实现方式。即使你没有任何编程经验,也能轻松上手,构建出属于自己的网页。

通过本指南,你将不仅掌握HTML的基础,还能学会如何将这些知识应用到实际开发中,打下扎实的前端开发基础,迈出成为网页开发者的第一步。
在这里插入图片描述

一、 HTML 结构

认识 HTML 标签

HTML(超文本标记语言)是构建网页的基础,几乎所有的网页元素都由 HTML 标签来定义和描述。每个标签都用于指定网页的某一部分的内容或行为,所以我们一定要学好 HTML 标签相关的知识。
这一部分我们先大致了解一些标签,后面会一一讲解每个标签的具体用法。

常见的 HTML 标签包括:

  • <h1><h6>:标题标签,用于创建网页中的标题,数字越小表示标题的层级越高,字体越粗越大。

  • <p>:段落标签,用于标记文本段落。

  • <a>:链接标签,用于创建超链接。

  • <img>:图片标签,用于显示图片。

  • <ul><ol>:无序列表和有序列表标签,用于创建列表。

  • <li>:列表项标签,用于指定列表中的每一项。

注意:

  1. 标签名 (h1) 放到 <> 中。
  2. 大部分标签成对出现,<h1> 为开始标签,</h1> 为结束标签。
  3. 少数标签只有开始标签,称为“单标签”。
  4. 开始标签和结束标签之间,写的是标签的内容。
  5. 开始标签中可能带有"属性",id 属性相当于给这个标签设置一个唯一的标识符(相当于我们的身份证号码)
HTML 文件基本结构

每个 HTML 文件都有一个固定的结构,通常包括以下几部分:

  1. DOCTYPE 声明:告诉浏览器使用哪个 HTML 版本。现在我们常用的是 <!DOCTYPE html>,它表示该文件是 HTML5 格式。HTML 4 的声明会比 HTML 5 的声明复杂好多,相比之下 HTML 4 更方便记忆。

  2. <html></html> 标签:是整个 HTML 文档的根元素(根标签、最顶层标签)。

  3. <head></head> 标签:包含了网页的元数据,如字符集、页面标题、外部链接等,主要是写页面的属性。

  4. <body></body> 标签:网页的主要内容区域,浏览器展示的内容都在这里。

  5. <title></title> 标签:中间的内容会在页面标题中显示出来

HTML 文件基本结构示例:

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>网页标题</title></head><body><h1>欢迎来到我的网站</h1><p>这是我的第一篇网页。</p></body>
</html>
标签层次结构

HTML 是一种层次化的语言,意味着标签可以包含其他标签。标签的层次结构可以通过缩进来表示,以便我们清晰地了解各部分之间的关系。

  • 包含与被包含我们可以叫做 父子关系
  • 同级的标签我们可以叫做兄弟关系

例如,HTML 中的<ul>(无序列表)标签可以包含多个 <li>(列表项)标签,展示一个列表。每个标签内的内容可以嵌套其他标签。

标签层次结构示例:

<html><head><title>我的页面</title></head><body><ul><li>项目 1</li><li>项目 2<ul><li>子项目 1</li><li>子项目 2</li></ul></li><li>项目 3</li></ul></body>
</html>

在这个例子中,<ul> 包含了三个 <li>,其中一个 <li> 标签内部又嵌套了一个新的 <ul>,展示了列表的嵌套结构。

其中:

  1. headbodyhtml 的子标签(html 就是 headbody 的父标签)。
  2. titlehead 的子标签,headtitle 的父标签。
  3. headbody 之间是兄弟关系。

帮助:
可以使用 chrome 的开发者工具查看页面的结构
F12 或者右键检查,开启开发者工具,切换到元素标签,就可以看到页面的 HTML 结构细节。

请添加图片描述
请添加图片描述

标签之间的结构,构成了一个 DOM 树。

知识拓展:
什么是 DOM?
DOM(文档对象模型,Document Object Model)是一个平台和语言无关的接口,它提供了一种表示网页结构的方式,使得网页的结构。样式和内容可以通过编程方式动态访问和修改。简单来说,DOM 是浏览器通过解析 HTML 和 XML 文档创建的一个层次化的对象模型,网页中的每一个元素、属性和文本都被表示为一个对象,可以通过 JavaScript 来操作。
DOM 的作用
请添加图片描述

快速生成代码框架

为了快速开始一个 HTML 项目,通常我们可以利用代码编辑器(如 VS Code、Sublime Text 等)提供的快捷功能来生成 HTML 框架。例如,在 VS Code 中输入 ! 然后按 Tab 键,便可以自动生成一个基本的 HTML 文件框架。

快速生成的 HTML 代码框架:

<!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></body>
</html>

细节解释:

  1. <!DOCTYPE html> 称为 DTD(文档类型定义),描述当前的文件是一个 HTML 5 的文件。
  2. <html lang="en"> 其中 lang 属性表示当前页面是一个"英语页面",这里暂时不用管(个别浏览器会根据此处的声明提示是否进行自动翻译)。
  3. <meta charset="UTF-8"> 描述页面的字符编码方式,没有这一行可能会导致中文乱码。
  4. <meta name="viewport" content="width=device-width,initial-scale=1.0">
    name="viewport" 其中 viewport 指的是设备的屏幕上能用来显示我们的网页的那一块区域。
    content=“width=device-width,initial-scale=1.0” 在设置可视区和设备宽度等宽,并设置初始缩放为不缩放。(这个属性对于移动端开发更重要一些)。

二、 HTML 常见标签详解

2.1 注释标签

HTML 中的注释标签用于添加注释,这些注释不会显示在浏览器中,仅供开发者参考。注释可以帮助我们记录代码说明或暂时隐藏代码。

注释标签:

<!-- 这是一个注释 -->

Ctrl + / 快捷键可以快速进行注释/取消注释

注释的原则

  1. 要和代码逻辑一致。
  2. 尽量使用中文。
  3. 不要传递负能量
2.2 标题标签 (h1 - h6)

标题标签用于创建网页的标题,h1 是最大标题,h6 是最小标题。它们通常用于展示章节、段落标题等信息,h1 应该用于页面的主标题,而 h2h6 可以用于子标题和小标题。

标题标签示例:

<h1>主标题</h1>
<h2>副标题</h2>
<h3>三级标题</h3>
<h4>四级标题</h4>
<h5>五级标题</h5>
<h6>六级标题</h6>

请添加图片描述

2.3 段落标签 (p)

当我们把一段比较长的文本粘贴到 html 中,会发现并没有分成段落。
例如:

css中的1px并不等于设备的1px在css中我们一般使用px作为单位,在桌面浏览器中css的1个像素往往都是对应着电脑屏幕的1个物理像素,这可能会造成我们的一个错觉,那就是css中的像素就是设备的物理像素。但实际情况却并非如此,css中的像素只是一个抽象的单位,在不同的设备或不同的环境中,css中的1px所代表的设备物理像素是不同的。在为桌面浏览器设计的网页中,我们无需对这个津津计较,但在移动设备上,必须弄明白这点。在早先的移动设备中,屏幕像素密度都比较低,如iphone3,它的分辨率为320x480,在iphone3上,一个css像素确实是等于一个屏幕物理像素的。后来随着技术的发展,移动设备的屏幕像素密度越来越高,从iphone4开始,苹果公司便推出了所谓的Retina屏,分辨率提高了一倍,变成640x960,但屏幕尺寸却没变化,这就意味着同样大小的屏幕上,像素却多了一倍,这时,一个css像素是等于两个物理像素的。其他品牌的移动设备也是这个道理。例如安卓设备根据屏幕像素密度可分为ldpi、mdpi、hdpi、xhdpi等不同的等级,分辨率也是五花八门,安卓设备上的一个css像素相当于多少个屏幕物理像素,也因设备的不同而不同,没有一个定论。还有一个因素也会引起css中px的变化,那就是用户缩放。例如,当用户把页面放大一倍,那么css中1px所代表的物理像素也会增加一倍;反之把页面缩小一倍,css中1px所代表的物理像素也会减少一倍。关于这点,在文章后面的部分还会讲到。在移动端浏览器中以及某些桌面浏览器中,window对象有一个devicePixelRatio属性,它的官方的定义为:设备物理像素和设备独立像素的比例,也就是 devicePixelRatio = 物理像素 /独立像素。css中的px就可以看做是设备的独立像素,所以通过devicePixelRatio,我们可以知道该设备上一个css像素代表多少个物理像素。例如,在Retina屏的iphone上,devicePixelRatio的值为2,也就是说1个css像素相当于2个物理像素。但是要注意的是,devicePixelRatio在不同的浏览器中还存在些许的兼容性问题,所以我们现在还并不能完全信赖这个东西,具体的情况可以看下这篇文章。

在网页上展示结果会变成:
请添加图片描述

可以自己动手试试。

段落标签用于定义网页中的段落。文本会被包含在 <p></p> 标签之间,浏览器会自动为每个段落添加空白行。

段落标签示例:

<p>这是一个段落,内容可以是文本、图片或者其他元素。</p>

请添加图片描述

通过段落标签我们来改进一下上面的文本

	<p>css中的1px并不等于设备的1px</p><p>在css中我们一般使用px作为单位,在桌面浏览器中css的1个像素往往都是对应着电脑屏幕的1个物理像素,这可能会造成我们的一个错觉,那就是css中的像素就是设备的物理像素。但实际情况却并非如此,css中的像素只是一个抽象的单位,在不同的设备或不同的环境中,css中的1px所代表的设备物理像素是不同的。在为桌面浏览器设计的网页中,我们无需对这个津津计较,但在移动设备上,必须弄明白这点。在早先的移动设备中,屏幕像素密度都比较低,如iphone3,它的分辨率为320x480,在iphone3上,一个css像素确实是等于一个屏幕物理像素的。后来随着技术的发展,移动设备的屏幕像素密度越来越高,从iphone4开始,苹果公司便推出了所谓的Retina屏,分辨率提高了一倍,变成640x960,但屏幕尺寸却没变化,这就意味着同样大小的屏幕上,像素却多了一倍,这时,一个css像素是等于两个物理像素的。其他品牌的移动设备也是这个道理。例如安卓设备根据屏幕像素密度可分为ldpi、mdpi、hdpi、xhdpi等不同的等级,分辨率也是五花八门,安卓设备上的一个css像素相当于多少个屏幕物理像素,也因设备的不同而不同,没有一个定论。</p><p>还有一个因素也会引起css中px的变化,那就是用户缩放。例如,当用户把页面放大一倍,那么css中1px所代表的物理像素也会增加一倍;反之把页面缩小一倍,css中1px所代表的物理像素也会减少一倍。关于这点,在文章后面的部分还会讲到。</p><p>在移动端浏览器中以及某些桌面浏览器中,window对象有一个devicePixelRatio属性,它的官方的定义为:设备物理像素和设备独立像素的比例,也就是 devicePixelRatio = 物理像素 /独立像素。css中的px就可以看做是设备的独立像素,所以通过devicePixelRatio,我们可以知道该设备上一个css像素代表多少个物理像素。例如,在Retina屏的iphone上,devicePixelRatio的值为2,也就是说1个css像素相当于2个物理像素。但是要注意的是,devicePixelRatio在不同的浏览器中还存在些许的兼容性问题,所以我们现在还并不能完全信赖这个东西,具体的情况可以看下这篇文章。</p>

展示结果为:
请添加图片描述

注意:

  1. p 标签之间存在一个空隙(也就是上面说的浏览器会为每个段落之间添加空白行)。
  2. 当前的 p 标签描述的段落,前面还没有缩进。(未来 CSS 会学)。
  3. 自动根据浏览器宽度来决定排版。
  4. html 内容首尾处的换行,空格均无效。
  5. html 中文字之间输入的多个空格只相当于一个空格。
  6. html 中直接输入换行不会真的换行,而是相当于一个空格。
2.4 换行标签 (br)

br 是 break 的缩写,代表这一行结束进行换行, <br/> 标签用于在页面中插入换行符。它是一个自闭合标签,表示不需要结束标签。当你希望在同一段落中换行时,可以使用 <br/>

换行标签示例:

<p>第一行<br>第二行<br>第三行</p>

请添加图片描述

  1. br 是一个单标签(不需要结束标签)
  2. br 标签不像 p 标签那样带有一个很大的空隙
  3. <br/> 是规范写法,不建议写成 <br>
 <p>在css中我们一般使用px作为单位,<br/>在桌面浏览器中css的1个像素往往都是对应着电脑屏幕的1个物理像素,这可能会造成我们的一个错觉,那就是css中的像素就是设备的物理像素。但实际情况却并非如此,css中的像素只是一个抽象的单位,在不同的设备或不同的环境中,css中的1px所代表的设备物理像素是不同的。在为桌面浏览器设计的网页中,我们无需对这个津津计较,但在移动设备上,必须弄明白这点。在早先的移动设备中,屏幕像素密度都比较低,如iphone3,它的分辨率为320x480,在iphone3上,一个css像素确实是等于一个屏幕物理像素的。后来随着技术的发展,移动设备的屏幕像素密度越来越高,从iphone4开始,苹果公司便推出了所谓的Retina屏,分辨率提高了一倍,变成640x960,但屏幕尺寸却没变化,这就意味着同样大小的屏幕上,像素却多了一倍,这时,一个css像素是等于两个物理像素的。其他品牌的移动设备也是这个道理。例如安卓设备根据屏幕像素密度可分为ldpi、mdpi、hdpi、xhdpi等不同的等级,分辨率也是五花八门,安卓设备上的一个css像素相当于多少个屏幕物理像素,也因设备的不同而不同,没有一个定论。</p>

运行结果如下:
请添加图片描述

2.5 格式化标签

格式化标签用于控制文本的样式,如粗体、斜体等。这些标签可以用来强调某些文本。

  • <b>:表示粗体文字

  • <i>:表示斜体文字

  • <u>:表示下划线文字

  • <strong>:表示加重的文本,语义上强调重要性

  • <em>:表示斜体的强调文本,语义上强调重要性

  • s:表示删除线文字

  • del:表示删除的强调文本,语义上强调重要性

  • ins:表示下划线的强调文本,语义上强调重要性

格式化标签示例:

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

请添加图片描述

使用 CSS 也可以完成类似的效果,实际开发中以 CSS 方式为主。

2.6 图片标签 (img)

<img> 标签用于在网页中嵌入图片。它是一个自闭合标签,常用的属性包括 src(图片路径)和 alt(图片描述)。img 标签必须带有 src 属性,表示图片的路径。 图片标签没有闭合标签。

图片标签示例:

<img src="image.jpg" alt="描述图片的文字" />

此时要把 image.jpg 这个图片文件放到和 html 中的同级目录中。

img 标签的其他属性:

  1. alt:替换文本,当文本不能正确显示的时候,会显示一个替换的文字。
  2. title:提示文本,鼠标放到图片上,就会有提示。
  3. width/height:控制宽度高度,高度和宽度一般改一个就行,另外一个会等比例缩放,否则就会图片失衡。
  4. boder:边框,参数是宽度的像素,但是一般使用 CSS 来设定。
<img src="rose.jpg" alt="鲜花" title="这是一朵鲜花" width="500px" height="800px"border="5px">

注意:

  1. 属性可以有多个,不能写到标签之前。
  2. 属性之间用空格分隔,可以是多个空格,也可以是换行。
  3. 属性之间不分先后顺序。
  4. 属性使用“键值对”的格式来表示

拓展知识:
关于目录结构,对于一个复杂的网站,页面资源很多,这种情况可以使用目录把这些文件整理好。
(1)相对路径:以 html 所在位置为基准,找到图片的位置。
同级路径:直接写文件名即可(或者 ././ 代表当前路径。
下一级路径:需要添加文件夹然后再写文件名(如:images/1.png)。
上一级路径:../ 代表上一级路径然后我们就可以这样表示(如:../images/2.png)。
(2)绝对路径:一个完整的磁盘路径,或者网络路径,例如:
磁盘路径:D:\rose.png
网络路径:https://...

2.7 超链接标签 (a)

超链接标签用于创建网页中的链接。通过 <a> 标签,我们可以将用户引导到其他网页、文件或页面上的某个位置。常用的属性是 href,它定义了链接的目标地址。和 img 标签一样 href 也是必须要有的属性,因为它代表点击后会跳转哪个页面。target:打开方式,默认是 _self,在本标签页打开,如果是 _blank 则用新的标签页打开。

超链接标签示例:

<a href="https://www.baidu.com">百度</a>

链接的几种形式:

  • 外部链接:href 引用其他网站网址。
<a href="https://www.baidu.com">百度</a>
  • 内部链接:网站内部之间的链接,写相对路径即可。
    在目录中先创建一个 1.html,再创建一个 2.html
<!-- 1.html -->我是 1.html<a href="2.html">点我跳转到 2.html</a><!-- 2.html -->我是 2.html<a href="1.html">点我跳转到 1.html</a>
  • 空链接:使用 #href 中占位。
<a fref="#">空链接</a>
  • 下载链接:href 对应的路径是一个文件。(可以使用 zip 文件)
<a href="test.zip">下载文件</a>
  • 网页元素链接:可以给图片等任何元素添加链接(把元素放到 a 标签中)
<a href="http://www.sogou.com"><img src="rose.jpg" alt=""></a>
  • 锚点链接:可以快速定位到页面中的位置。
<a href="#one">第一集</a>
<a href="#two">第二集</a>
<a href="#three">第三集</a>
<p id="one">
第一集剧情 <br>
第一集剧情 <br>...
</p><p id="two">
第二集剧情 <br>
第二集剧情 <br>
...
</p><p id="three">
第三集剧情 <br>
第三集剧情 <br>
...
</p>

禁止 a 标签跳转:<a href="javascript:void(0);"> 或者 <a href="javascipt:;">

2.8 表格标签

表格标签用于在网页中创建表格。表格通常由 <table> 标签定义,表格的行由 <tr> 标签定义,表格的单元格由 <td> 标签定义,表头单元格由 <th> 标签定义。

基本使用
<table><tr><th>表头1</th><th>表头2</th></tr><tr><td>数据1</td><td>数据2</td></tr><tr><td>数据3</td><td>数据4</td></tr>
</table>
  • table 标签:表示整个表格。
  • tr 标签:表示表格的一行。
  • td 标签:表示一个单元格。
  • th 标签:表示表头单元格,会居中加粗。
  • thead 标签:表格的头部区域(注意和 th 区分,范围是比 th 要大的)
  • today 标签:表格得到主体区域。

table 包含 trtr 包含 td 或者 th

表格标签有一些属性可以用于设置大小边框等,但是一般使用 CSS 方式来设置。
这些属性都要放到 table 标签中:

  1. align 是表格相对于周围元素的对齐方式。align="center"(不是内部元素的对齐方式)
  2. border :表示边框。1 表示有边框(数字越大,边框越粗),"" 表示没边框。
  3. cellpadding:内容距离边框的距离,默认 1 像素。
  4. cellspacing:单元格之间的距离,默认为 2 像素。
  5. width/height:设置尺寸。
    注意这几个属性,vscode 都提示不出来。
<table align="center" border="1" cellpadding="20" cellspacing="0" width="500"height="500"><tr><td>姓名</td><td>性别</td><td>年龄</td></tr><tr><td>张三</td><td></td><td>10</td></tr><tr><td>李四</td><td></td><td>11</td></tr>
</table>
合并单元格

可以使用 colspan 属性来合并列,使用 rowspan 属性来合并行。

<table><tr><th colspan="2">合并两列的表头</th></tr><tr><td rowspan="2">合并两行的单元格</td><td>数据1</td></tr><tr><td>数据2</td></tr>
</table>

步骤:

  1. 先确定跨行还是跨列。
  2. 找好目标单元格(合并列,左侧是目标单元格;合并行,上方是目标单元格)。
  3. 删除的多余的单元格。
2.9 列表标签

列表标签用于创建有序列表(<ol>)和无序列表(<ul>)。列表项用 <li> 标签定义。
主要使用来布局的,整齐好看。

  • 无序列表[重要]ul li
  • 有序列表[用的不多]ol li
  • 自定义列表[重要]dl 总标签 dt 小标题 dd 围绕标题来说明,上面有几个小标题,下面有几个围绕着标题来展开。
    自定义列表(参考小米官网下方)

注意:

  1. 元素之间的是并列关系。
  2. ul/ol 中只能放 li 不能放其他标签,dl 中只能放 dtdd
  3. li 中可以放其他标签。
  4. 列表带有自己的样式,可以使用 CSS 来修改。(例如前面的小圆点都会去掉)
无序列表 (ul)
<ul><li>项目1</li><li>项目2</li><li>项目3</li>
</ul>
有序列表 (ol)
<ol><li>第一项</li><li>第二项</li><li>第三项</li>
</ol>
自定义列表(dl
<dl><dt>我的老婆们</dt><dd>咬人猫</dd><dd>兔总裁</dd><dd>阿叶君</dd>
</dl>

请添加图片描述

2.10 表单标签

表单标签用于创建交互式的用户输入界面。通过表单,用户可以输入数据,提交给服务器处理。
分成两个部分:

  • 表单域:包含表单元素的区域。重点是 form 标签。
  • 表单控件:输入框,提交按钮等。重点是 input 标签。
form 标签

<form> 标签用于创建一个表单。

<form action="/submit" method="post"><label for="name">姓名:</label><input type="text" id="name" name="name"><input type="submit" value="提交">
</form>

描述了要把数据按照什么方式,提交到哪个页面中。

关于 form 需要结合服务器 & 网络编程来进一步理解,后面再详细研究。

input 标签

<input> 标签用于定义表单控件,如文本框、按钮、复选框等。

<input type="text" placeholder="请输入姓名">
<input type="password" placeholder="请输入密码">
<input type="checkbox"> 同意条款
<input type="radio"><input type="radio">
  1. type(必须有),取值种类有很多,buttoncheckboxtextfileimagepasswordradio 等。
  2. name:给 input 起了个名字,尤其对于单选按钮,具有相同的 name 才能多选一。
  3. value:input 中的默认值。
  4. checked:默认被选中,(用于单选按钮和多选按钮)。
  5. maxlength:设定最大长度。

(1)文本框

<input type="text">

(2) 密码框

<input type="password">

(3)单选框

性别:
<input type="radio" name="sex"><input type="radio" name="sex" checked="checked">

注意:单选框之间必须具备相同的 name 属性,才能实现多选一效果。

(4)复选框

爱好:
<input type="checkbox">吃饭
<input type="chechbox">睡觉
<input type="checkbox">打游戏

(5)普通按钮

<input type="button" value="我是个按钮">

当点击了没反应,需要搭配 JavaScript 使用(后面会重点研究)

(6)提交按钮

<form action="test.html"><input type="text" name="username"><input type="submit" value="提交">
</form>

提交按钮必须放到 form 标签内,点击后就会尝试给服务器发送。

(7)清空按钮

<form action="test.html"><input type="text" name="username"><input type="submit" value="提交"><input type="reset" value="清空">
</form>

清空按钮必须放在 form 中,点击后会将 form 内所有用户输入内容重置。

(8)选择文件

<input type="fiel">

点击选择文件,会弹出对话框,选择文件

label 标签

<label> 标签用于定义表单控件的标签,增强表单可访问性。
搭配 input 使用,点击 lable 也能选中对应的单选/复选框,能够提升用户体验。

  • for 属性:指定当前 label 和哪个相同 id 的 input 标签对应。(此时点击才是有用的)
<label for="username">用户名:</label>
<input type="text" id="username" name="user">
select 标签

<select> 标签用于创建下拉列表。

  • option 中定义 select="selected"表示默认选中
<select><option value="1">选项1</option><option value="2">选项2</option><option value="3" selected="selected">选项3</option>
</select>

注意!如果不设置默认第一个为默认选项

textarea 标签

<textarea> 标签用于创建多行文本框,适用于输入较长的文本。

文本域中的内容,就是默认内容,注意,空格也会有影响。
rowscols 也都不会直接使用,都是用 CSS 来改的。

<textarea rows="4" cols="50">请输入内容...</textarea>
2.11 无语义标签:divspan
  • <div>:用于将网页内容分组,是一个无语义的块级元素,通常用于布局和样式调整。

  • <span>:是一个无语义的行内元素,常用于对部分文本进行样式设置。

这里简单说明:块级元素会独占一行,行内元素不会。

divspan 示例:

<div><p>这是一个段落。</p><span>这是行内元素。</span>
</div>

三、HTML 特殊字符

有些特殊的字符在 html 文件中是不能直接表示的,例如:
空格:&nbsp;
小于号:&lt;
大于号:&gt;
按位与:&amp;

html 标签就是用 < > 表示的,因此如果内容中如果存在 < >,就会发生混淆
其他的特殊参考字符可以参考HTML特殊字符编码对照表

总结

如果看完这篇文章对 html 仍然想要更加深度学习

使用 HTML 构建 Web - 学习 Web 开发 | MDN
HTML(超文本标记语言) | MDN]


文章转载自:

http://DZDGBbAV.jkpnm.cn
http://jDIoKcmq.jkpnm.cn
http://DDNjOCPv.jkpnm.cn
http://MjV0XOBl.jkpnm.cn
http://Nu4JRE4h.jkpnm.cn
http://G4QgDCPz.jkpnm.cn
http://9uxLmiJH.jkpnm.cn
http://nhGMRsaL.jkpnm.cn
http://rp6exj3i.jkpnm.cn
http://QkOb6c5R.jkpnm.cn
http://PQTqJ2YE.jkpnm.cn
http://kJYrzGzO.jkpnm.cn
http://SO8s5xxX.jkpnm.cn
http://ZZ8RGIwJ.jkpnm.cn
http://bL0mMdVw.jkpnm.cn
http://PBwdWzJJ.jkpnm.cn
http://RXNpqxej.jkpnm.cn
http://PMjjGRQm.jkpnm.cn
http://8yTRUsuE.jkpnm.cn
http://Xjx89kM9.jkpnm.cn
http://FMSWGAQh.jkpnm.cn
http://J4pTjJ5X.jkpnm.cn
http://Ze4TOwDW.jkpnm.cn
http://ffPyvXd5.jkpnm.cn
http://INkOWwkX.jkpnm.cn
http://EVN3FgLB.jkpnm.cn
http://HaVMmBds.jkpnm.cn
http://7UrdTPBl.jkpnm.cn
http://vPKMEvxD.jkpnm.cn
http://pKWskEb2.jkpnm.cn
http://www.dtcms.com/a/380936.html

相关文章:

  • 【硬件-笔试面试题-87】硬件/电子工程师,笔试面试题(知识点:解决浪涌电压)
  • Spring的注解
  • Java Class Analyzer MCP Server:让AI精准理解Java依赖的利器
  • 创建自己的Docker镜像,使用工具:GitHub(远程仓库)、GitHub Desktop(版本控制工具)、VSCode(代码编辑器)
  • Windows11安装Docker Desktop
  • FastJson解析对象后验签失败问题分析
  • 【Vue2手录12】单文件组件SFC
  • Pinia
  • MySQL按时间Range分区
  • python发送请求SSL验证设置
  • 关于栈和队列的OJ练习
  • WebGIS包括哪些技术栈?怎么学习?
  • 15、优化算法工程实践 - 从数学理论到AI训练的核心引擎
  • VS2019 Community 社区版下载链接
  • 高低压隔离器的技术演进与行业赋能
  • 氚燃料增殖里程碑:MIT新型BABY包层技术实验验证
  • 【案例教程】基于R语言的物种气候生态位动态量化与分布特征模拟实践技术应用
  • 《WINDOWS 环境下32位汇编语言程序设计》第16章 WinSock接口和网络编程(1)
  • 实习总结——关于联调解决的因CRC校验导致协议交互失败的调试经验总结
  • 【从零开始的大模型原理与实践教程】--第三章:预训练语言模型
  • GitHub Copilot支持 GPT-5 和 GPT-5 mini!
  • Day01 Geant4学习
  • 11. 网络同步模型 - 状态同步A
  • Mem0 + Milvus:为人工智能构建持久化长时记忆
  • 力学矢量三角形“无脑”求解指南:基于极角代数的系统化方法
  • 算法第四题移动零(双指针或简便设计),链路聚合(两个交换机配置)以及常用命令
  • 背包问题从入门到入土
  • 远程连接--向日葵
  • 植物灯电源芯片选型指南:如何实现高效与智能?
  • Python读取视频-硬解和软解