HTML 核心基础与常用标签全解析

1.1 HTML 基础

1.1.1 什么是 HTML

HTML (Hyper Text Markup Language), 超文本标记语言.

超文本:比文本要强大,通过链接和交互方式来组织和呈现信息的文本形式,不仅仅有文本,还可能包含图片,音频,或者自己已经审阅过它的学者所加的评注、补充或脚注等等.

标记语言:由标签构成的语言HTML 的标签都是提前定义好的,使用不同的标签,表示不同的内容.类似飞书文档,Word 文档

html 复制代码
<h1>我是⼀级标题</h1>
<h2>我是⼆级标题</h2>
<h3>我是三级标题</h3>

经过浏览器解析后的效果如下

1.1.2 认识 HTML

标签HTML 代码是由 "标签" 构成的。

形如:

html 复制代码
 <h3>我是三级标题</h3>
  • 标签名 (body) 放到 <> 中
  • 大部分标签成对出现.<h1> 为开始标签,</h2> 为结束标签.
  • 少数标签只有开始标签,称为 "单标签".
  • 开始标签和结束标签之间,写的是标签的内容.
  • 开始标签中可能会带有 "属性".id 属性相当于是给这个标签设置了一个唯一的标识符 (身份证号码).1 <h3 id="myId">我是三级标题</h3>

1.1.3 HTML 文件基本结构

html 复制代码
<html>
 <head>
 <title>第一个页面</title>
 </head>
 <body> hello world </body>
</html>
  • html 标签是整个 html 文件的根标签 (最顶层标签)
  • head 标签中写页面的属性.
  • body 标签中写的是页面上显示的内容
  • title 标签中写的是页面的标题.

1.1.4 标签层次结构

  • 父子关系
  • 兄弟关系
html 复制代码
 <html>
   <head>
       <title>第一个页面</title>
   </head>
   <body>
       hello world
   </body>
 </html>

其中:

  • head 和 body 是 html 的子标签 (html 就是 head 和 body 的父标签)
  • title 是 head 的子标签. head 是 title 的父标签.
  • head 和 body 之间是兄弟关系.

可以使用 chrome 的开发者工具查看页面的结构.

标签之间的结构关系,构成了⼀个DOM树

DOM 是DocumentObjectMode(文档对象模型)的缩写.

1.2 HTML 快速入门

1.2.1 开发工具

HTML 可以使用系统自带的记事本來编写,但是非常不方便,我们课程中使用前端专业的开发工具:Visual Studio Code

Visual Studio Code(简称 "VS Code")是 Microsoft 在 2015 年 4 月 30 日 Build 开发者大会上宣布的一款跨平台源代码编辑器,可以运行在 Windows,macOS 和 Linux 上。它具有对 JavaScript, TypeScript 和 Node.js 的内置支持,并具有丰富的其他语言 (例如 C++, C#, Java, Python, PHP, Go).

1.2.2 快速开发

在 VS Code 中创建文件 xxx.html, 直接输入 !, 按 Enter 或 tab 键,此时能自动生成代码的主体框架.

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>

细节解释:(了解即可,不必深究)

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

<body></body>标签中,任意书写文字,按 Ctrl+s 保存文件,通过浏览器访问即可。如:

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>
 第一个Document</title>
 </</tody>
 </html>

浏览器运行结果如下:[浏览器界面截图:

1.3 HTML 常见标签

1.3.1 标题标签 h1-h6

有六个,从 h1-h6. 数字越大,则字体越小.

html 复制代码
 <h1>hello</h1>
 <h2>hello</h2>
 <h3>hello</h3>
 <h4>hello</h4>
 <h5>hello</h5>
 <h6>hello</h6>

1.3.2 段落标签: p

在 HTML 中,段落,换行符,空格都会失效,如果需要分成段落,需要使用专门的标签

  • p 标签表示一个段落.
html 复制代码
 <p>这是一个段落</p>
html 复制代码
 <p>这是一个段落</p>
 <p>这是一个段落</p>

注意:

  • p 标签描述的段落,前面没有缩进.(未来 CSS 会学)
  • 自动根据浏览器宽度来决定排版.
  • html 内容首尾处的换行,空格均无效.
  • 在 html 中文字之间输入的多个空格只相当于一个空格.

1.3.3 换行标签:br

想要完成换行的话,也可以通过<br/>标签来实现.br 是 break 的缩写,表示换行.

  • br 是一个单标签 (不需要结束标签)
  • br 标签不像 p 标签那样带有一个很大的空隙.
  • <br/> 是规范写法,不建议写成 <br>
html 复制代码
 这是一个br标签<br/>
 这是一个br标签<br/>
 这是一个br标签<br/>

展示结果:

1.3.4 图片标签:img

img 标签必须带有 src 属性,表示图片的路径。

html 复制代码
 <img src="rose.jpg">

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

img 标签的其他属性

  • width/height: 控制宽度高度。高度和宽度一般改一个就行,另外一个会等比例缩放。否则就会图片失衡.
  • border: 边框,参数是宽度的像素。但是一般使用 CSS 来设定.
html 复制代码
<img src="rose.jpg" width="500px" height="800px" border="5px">

注意:

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

关于目录结构:对于一个复杂的网站,页面资源很多,这种情况可以使用目录把这些文件整理好.

  1. 相对路径:以 html 所在位置为基准,找到图片的位置.
    • 同级路径:直接写文件名即可 (或者,/)
    • 下一级路径:image/1.jpg
    • 上一级路径:../image/1.jpg
  2. 绝对路径:一个完整的磁盘路径,或者网络路径。例如

1.3.5 超链接: a

超链接标签(<a>)的核心属性:

  • href:必填属性,指定点击后跳转的目标页面地址。
  • target:控制打开方式,默认值_self(当前标签页打开),设为_blank则在新标签页打开。
链接的常见形式
  1. 外部链接引用其他网站的地址,需填写完整网络路径:

    html 复制代码
    <a href="http://www.baidu.com">百度</a>
  2. 内部链接用于网站内部页面跳转,使用相对路径(需确保文件在同一目录):

    • 示例:在同一目录下创建1.html2.html,实现互相跳转:

      html 复制代码
      <!-- 1.html -->
      我是 1.html
      <a href="2.html">点我跳转到 2.html</a>
      
      <!-- 2.html -->
      我是 2.html
      <a href="1.html">点我跳转到 1.html</a>
  3. 空链接 使用#作为href的占位符(点击后不跳转,仅表示链接样式):

    html 复制代码
    <a href="#">空链接</a>

超链接是 HTML 中实现页面跳转的核心标签,常用于导航栏、内容关联跳转等场景,通过不同的href形式可适配外部、内部及临时占位的需求。

1.4 表格标签

HTML 表格由多个标签协作构成,核心结构为:table**(整个表格)包含tr(行),tr包含td(单元格);还可通过thead(表头区域)、tbody(主体区域)划分表格模块。**

表格标签的属性(需写在table标签中)

表格可通过属性设置样式(实际开发中更常用 CSS),常用属性包括:

属性名 作用描述
align 表格相对于周围元素的对齐方式(如align="center"表示居中,不控制内部元素对齐)
border 表格边框宽度,1表示有边框(数值越大边框越粗),空值表示无边框
cellpadding 单元格内容与边框的距离,默认 1 像素
cellspacing 单元格之间的间距,默认 2 像素
width/height 表格的宽度 / 高度
示例代码
html 复制代码
<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>

原来表格:

html 复制代码
<body>
  <!-- 表格标签 -->
  <table border="1px" cellspacing="0" cellpadding="0px" align="center">
    <tr>
      <td>aaa</td>
      <td>bbb</td>
      <td>111</td>
    </tr>
    <tr>
      <td>ccc</td>
      <td>ddd</td>
      <td>ddd</td>
    </tr>
    <tr>
      <td>eee</td>
      <td>ffff</td>
      <td>ffff</td>
    </tr>
  </table>
</body>

合并单元格:

html 复制代码
<body>
  <!-- 表格标签 -->
  <table border="1px" cellspacing="0" cellpadding="0px" align="center">
    <tr>
      <td>aaa</td>
      <td colspan="2">bbb</td>
      <!-- <td>111</td> -->
    </tr>
    <tr>
      <td>ccc</td>
      <td>ddd</td>
      <td rowspan="2">222</td>
    </tr>
    <tr>
      <td>eee</td>
      <td>ffff</td>
      <!-- <td>333</td> -->
    </tr>
  </table>
</body>

1.5 表单相关标签

1.5.1 form 标签

form标签用于定义表单区域,负责指定数据的提交方式与目标页面,语法如下:

html 复制代码
<form action="test.html">
  ... [form的内容]
</form>

其核心作用是包裹表单控件,后续需结合后端代码实现数据提交逻辑。

属性 作用说明
action 指定表单数据提交的目标地址 (可以是本地 HTML 文件、后端接口地址等),这里是提交到同目录下的demo1.html
method 指定表单的提交方式 ,可选值为get(默认)或post,这里使用get方式
getpost提交方式的区别
提交方式 数据传递位置 数据大小限制 安全性 适用场景
get 拼接到 URL 地址后 一般限制 2KB 低(数据可见) 简单查询、非敏感数据提交
post 放在 HTTP 请求体中 无明确限制 高(数据隐藏) 登录、注册、敏感数据提交
html 复制代码
<form action="demo1.html" method="get">
  姓名:<input type="text" name="" id="" placeholder="请输入姓名"><br/>
  密码:<input type="password" name="" id=""><br/>
  
  性别:
  <input type="radio" name="gender" id="male"> 
  <label for="male">男</label>
  <input type="radio" name="gender" id="female"> 
  <label for="female">女</label> <br/>
  
  兴趣:
  <input type="checkbox" name="chec" id="ball11"> 
  <label for="ball11">排球</label>
  <input type="checkbox" name="chec" id=""> 篮球
  <input type="checkbox" name="chec" id=""> 乒乓球
  <input type="checkbox" name="chec" id=""> 羽毛球 <br/>

  <!-- 注释了普通按钮和button标签,改用submit类型按钮 -->
  <!-- <input type="button" value="注册"> -->
  <!-- <button>注册</button> -->
  <input type="submit" value="注册">
</form>
  • 1.gender是 on,是因为没有写名字,他只知道值,但是不知道这个值对应的属性是什么
  • 2.性别这里他知道名字,因为他们男女的input一样,但是不知道对应的值是多少 所以是on,解决办法是再后面写一个value
html 复制代码
<body>
  <!-- 表单标签 -->
  <form action="demo1.html" method="get">
    姓名:<input type="text" name="userName" id="" placeholder="请输入姓名"><br/>
    密码:<input type="password" name="password" id=""><br/>
    
    性别:
    <input type="radio" name="gender" id="male" value="0"> 
    <label for="male">男</label>
    <input type="radio" name="gender" id="female" value="1"> 
    <label for="female">女</label> <br/>
    
    兴趣:
    <input type="checkbox" name="chec" id="ball11" value="1"> 
    <label for="ball11">排球</label>
    <input type="checkbox" name="chec" id="" value="2"> 篮球
    <input type="checkbox" name="chec" id="" value="3"> 乒乓球
    <input type="checkbox" name="chec" id="" value="4"> 羽毛球 <br/>

    <!-- 注释了普通按钮和button标签,使用submit按钮提交 -->
    <!-- <input type="button" value="注册"> -->
    <!-- <button>注册</button> -->
    <input type="submit" value="注册">
  </form>
</body>

优化正常命名:

html 复制代码
<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>表单提交示例</title>
</head>
<body>
    <!-- 表单容器:提交到demo1.html,使用get方式 -->
    <form action="demo1.html" method="get">
        <!-- 文本输入框:姓名 -->
        姓名:<input type="text" name="username" placeholder="请输入姓名"><br><br>
        
        <!-- 密码输入框 -->
        密码:<input type="password" name="pwd" placeholder="请输入密码"><br><br>
        
        <!-- 单选框:性别(name统一实现互斥) -->
        性别:
        <input type="radio" name="gender" id="male" value="male">
        <label for="male">男</label>
        <input type="radio" name="gender" id="female" value="female">
        <label for="female">女</label><br><br>
        
        <!-- 复选框:兴趣(name统一便于后端接收数组) -->
        兴趣:
        <input type="checkbox" name="hobby" id="volleyball" value="volleyball">
        <label for="volleyball">排球</label>
        <input type="checkbox" name="hobby" id="basketball" value="basketball">
        <label for="basketball">篮球</label>
        <input type="checkbox" name="hobby" id="pingpong" value="pingpong">
        <label for="pingpong">乒乓球</label><br><br>
        
        <!-- 提交按钮:点击后触发表单提交 -->
        <input type="submit" value="提交">
        <!-- 重置按钮:清空所有表单内容 -->
        <input type="reset" value="重置">
    </form>
</body>
</html>
html 复制代码
demo1.html?username=张三&pwd=123456&gender=male&hobby=volleyball&hobby=basketball
1.5.2 input 标签

input是表单的核心控件标签,可实现单行文本、按钮、单选框等多种交互组件,关键属性包括:

  • type(必填):决定控件类型,常见取值有buttoncheckboxtextfilepasswordradio等;
  • name:为控件命名,单选框需同名才能实现 "多选一";
  • value:控件的默认值;
  • checked:用于单选 / 复选框,设置默认选中状态。
常用 input 类型示例

1.文本框用于输入单行文本:

html 复制代码
<!-- 表单标签 -->
姓名: <input type="text" name="" id=""><br/>
密码: <input type="password" name="" id=""><br/>
性别: <input type="radio" name="gender" id="male"> <label for="male">男</label>
      <input type="radio" name="gender" id="female"> <label for="female">女</label>
  1. 性别单选框通过统一的name="gender"实现互斥选择;
  2. 使用<label>标签并通过for属性关联单选框的id,点击 "男 / 女" 文字即可选中对应单选框,提升了操作便捷性。
类型 核心特点 关键属性要求 适用场景
单选框(radio) 同一组内只能选一个 必须设置相同的 name 属性 二选一 / 多选一的选项(如性别)
复选框(checkbox) 同一组内可多选 建议设置相同的 name 属性 多选项(如兴趣、爱好)
html 复制代码
<!-- 表单标签 -->
<!-- 性别:单选框(name统一为gender实现互斥选择) -->
性别:
<input type="radio" name="gender" id="male"> 
<label for="male">男</label>
<input type="radio" name="gender" id="female"> 
<label for="female">女</label> <br/>

<!-- 兴趣:复选框(name统一为chec便于后端接收多选结果) -->
兴趣:
<input type="checkbox" name="chec" id="ball11"> 
<label for="ball11">排球</label>
<input type="checkbox" name="chec" id="ball22"> 
<label for="ball22">篮球</label>
<input type="checkbox" name="chec" id="ball33"> 
<label for="ball33">乒乓球</label>
<input type="checkbox" name="chec" id="ball44"> 
<label for="ball44">羽毛球</label>

2.button

html 复制代码
<button>注册</button>
html 复制代码
<input type="button" value="注册">
html 复制代码
<!-- 表单标签:action指定提交地址,method指定提交方式为get -->
<form action="demo1.html" method="get">
  姓名:<input type="text" name="" id="" placeholder="请输入姓名"><br/>
  密码:<input type="password" name="" id=""><br/>
  
  性别:
  <input type="radio" name="gender" id="male"> 
  <label for="male">男</label>
  <input type="radio" name="gender" id="female"> 
  <label for="female">女</label> <br/>
  
  兴趣:
  <input type="checkbox" name="chec" id="ball11"> 
  <label for="ball11">排球</label>
  <input type="checkbox" name="chec" id=""> 篮球
  <input type="checkbox" name="chec" id=""> 乒乓球
  <input type="checkbox" name="chec" id=""> 羽毛球 <br/>

  <!-- 注释了原普通按钮,改用<button>标签作为提交按钮 -->
  <!-- <input type="button" value="注册"> -->
  <button>注册</button>
</form>

这个复选框的特点是:通过checked属性默认选中了 "羽毛球" 选项,name="chec"用于后端接收多选结果,value="4"是提交的对应数据。

html 复制代码
<input type="checkbox" name="chec" id="" value="4" checked> 羽毛球 <br/>
文本框
html 复制代码
<input type="text">
密码框
html 复制代码
<input type="password">
单选框
html 复制代码
性别:
<input type="radio" name="sex">男
<input type="radio" name="sex" checked="checked">女

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

复选框
html 复制代码
爱好:
<input type="checkbox">吃饭 <input type="checkbox">睡觉 <input type="checkbox">打游戏
普通按钮
html 复制代码
<input type="button" value="我是个按钮">

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

html 复制代码
<input type="button" value="我是个按钮" onclick="alert('hello')">
提交按钮
html 复制代码
<form action="test.html">
  <input type="text" name="username">
  <input type="submit" value="提交">
</form>

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

1.5.3 select 标签(下拉菜单)

select用于创建下拉选择菜单,option定义菜单项,通过selected="selected"设置默认选中项:

html 复制代码
学历:<select name="sel">
  <option value="1">小学</option>
  <option value="2">初中</option>
  <option value="3">高中</option>
  <option value="4" selected="selected">高中及以上</option>
</select>

1.5.4 textarea 标签(文本域)

textarea用于多行文本输入,rows(行数)、cols(列数)为基础尺寸属性(实际开发常用 CSS 调整样式),标签内的内容为默认文本(空格会影响显示):

html 复制代码
<textarea rows="3" cols="50">
</textarea>

1.6 无语义标签:div & span

这两个标签本身无实际语义,仅作为 "容器" 用于网页布局:

  • div:division 的缩写,意为 "分割",是块级元素(独占一行),常用于大区域布局;
  • span:意为 "跨度",是行内元素(不独占一行),常用于小范围内容包裹。

示例:

html 复制代码
<div>
  <span>咬人猫</span>
  <span>咬人猫</span>
  <span>咬人猫</span>
</div>
<div>
  <span>兔总裁</span>
  <span>兔总裁</span>
  <span>兔总裁</span>
</div>
<div>
  <span>阿叶君</span>
  <span>阿叶君</span>
  <span>阿叶君</span>
</div>

1.7 序列

序列是编程和标记语言中用于组织一组相关元素的结构,常见的有有序序列无序序列 ,在 HTML 中最具代表性的是有序列表(<ol>)和无序列表(<ul>),以下是详细说明:

1.7.1 有序序列(有序列表)

有序序列指的是元素的排列存在明确的顺序(如数字、字母、罗马数字等),顺序的改变会影响语义。在 HTML 中,使用<ol>(Ordered List)标签定义有序列表,列表项由<li>(List Item)标签包裹。

核心特性
  • 列表项默认以阿拉伯数字(1、2、3...)进行编号
  • 可通过type属性修改编号类型,支持数字(1)、大写字母(A)、小写字母(a)、大写罗马数字(I)、小写罗马数字(i)
  • 可通过start属性指定编号的起始值(仅支持数字,会自动对应到所选类型)
代码示例
html 复制代码
<!-- 默认数字编号的有序列表 -->
<ol>
    <li>第一步:打开编辑器</li>
    <li>第二步:编写代码</li>
    <li>第三步:运行测试</li>
</ol>

<!-- 大写字母编号,从3开始(对应C) -->
<ol type="A" start="3">
    <li>章节C</li>
    <li>章节D</li>
    <li>章节E</li>
</ol>

<!-- 小写罗马数字编号 -->
<ol type="i">
    <li>第一个要点</li>
    <li>第二个要点</li>
</ol>
1.7.2 无序序列(无序列表)

无序序列指的是元素的排列没有固定顺序,仅表示元素属于同一组,顺序改变不影响语义。在 HTML 中,使用<ul>(Unordered List)标签定义无序列表,列表项同样由<li>标签包裹。

核心特性
  • 列表项默认以实心圆点(●)作为项目符号
  • 可通过type属性修改符号类型,支持实心圆点(disc,默认)、空心圆圈(circle)、实心方块(square)
  • 现代开发中,更多使用 CSS 替代type属性来定制符号样式(如取消符号、使用图标等)
代码示例
html 复制代码
<!-- 默认实心圆点的无序列表 -->
<ul>
    <li>苹果</li>
    <li>香蕉</li>
    <li>橙子</li>
</ul>

<!-- 空心圆圈符号的无序列表 -->
<ul type="circle">
    <li>篮球</li>
    <li>足球</li>
    <li>排球</li>
</ul>

<!-- 实心方块符号的无序列表 -->
<ul type="square">
    <li>红色</li>
    <li>绿色</li>
    <li>蓝色</li>
</ul>

<!-- CSS定制:取消项目符号 -->
<ul style="list-style: none;">
    <li>首页</li>
    <li>关于我们</li>
    <li>联系我们</li>
</ul>
拓展:嵌套序列

有序序列和无序序列可以互相嵌套,形成层级结构,例如:

html 复制代码
<ul>
    <li>水果
        <ol>
            <li>苹果</li>
            <li>香蕉</li>
        </ol>
    </li>
    <li>运动
        <ul type="circle">
            <li>篮球</li>
            <li>足球</li>
        </ul>
    </li>
</ul>

1.7.3 自定义列表

自定义列表是 HTML 中第三种重要的序列(列表)类型,它并非简单的有序 / 无序项排列,而是用于展示术语 - 解释标题 - 内容 这类关联型的结构,由<dl>(Definition List)、<dt>(Definition Term,定义术语 / 标题)和<dd>(Definition Description,定义描述 / 内容)三个标签配合实现。

核心特性
  1. <dl>是自定义列表的容器,包裹所有<dt><dd>标签;
  2. 一个<dl>中可以包含多个<dt>,每个<dt>可以对应一个或多个<dd>
  3. 默认样式下,<dd>会有缩进效果(通常是 40px 左右的左边距),可通过 CSS 修改;
  4. 常用于展示商品属性、文档说明、网站底部导航等场景。
代码示例
基础用法(单术语单描述)
html 复制代码
<dl>
    <dt>HTML</dt>
    <dd>超文本标记语言,用于构建网页的结构。</dd>

    <dt>CSS</dt>
    <dd>层叠样式表,用于美化网页的样式。</dd>
</dl>
进阶用法
html 复制代码
<!-- 单术语对应多个描述 -->
<dl>
    <dt>JavaScript</dt>
    <dd>一种脚本语言,用于实现网页的交互效果。</dd>
    <dd>可在浏览器端运行,也可通过Node.js在服务器端运行。</dd>
</dl>

<!-- 多术语对应多描述(嵌套/并列) -->
<dl>
    <dt>前端三大核心技术</dt>
    <dd>
        <dl>
            <dt>HTML</dt>
            <dd>负责页面结构</dd>
            <dt>CSS</dt>
            <dd>负责页面样式</dd>
            <dt>JS</dt>
            <dd>负责页面交互</dd>
        </dl>
    </dd>

    <dt>前端框架</dt>
    <dd>React</dd>
    <dd>Vue</dd>
    <dd>Angular</dd>
</dl>

1.7 综合练习:用户注册

用于实现用户注册界面(具体内容未完全展示)。

这些标签的核心作用:selecttextarea补充了表单的交互类型,divspan则是网页布局的基础容器,是前端页面结构搭建的常用工具。

用户注册页面实现说明

该页面通过表格布局 +表单控件搭建,核心实现逻辑如下:

实现思路
  1. 布局方式 :用<table>做整体结构排版,通过<tr>(行)+<td>(单元格)排列表单项;
  2. 交互控件 :用<input type="text">实现输入框,通过placeholder设置提示文字;
  3. 辅助元素 :用<div>包裹按钮与链接,<a>实现 "登录" 跳转。
代码示例
html 复制代码
<h1>用户注册</h1>
<table>
  <tr>
    <td>用户名</td>
    <td><input type="text" placeholder="请输入用户名"></td>
  </tr>
  <tr>
    <td>手机号</td>
    <td><input type="text" placeholder="请输入手机号"></td>
  </tr>
  <tr>
    <td>密码</td>
    <td><input type="text" placeholder="请输入密码"></td>
  </tr>
</table>
<div>
  <input type="button" value="注册">
  <span>已有账号?</span><a href="#">登录</a><br/>
</div>
功能说明
  • 表格负责页面的整齐排版,让标签与输入框对应对齐;
  • placeholder用于提示用户输入内容(如 "请输入用户名");
  • "注册" 按钮为普通按钮(需搭配 JS 实现提交逻辑),"登录" 是空链接(需补充实际跳转地址)。
相关推荐
几何心凉8 小时前
AI推理加速:openFuyao算力释放的核心引擎
前端
abcefg_h8 小时前
GO Web开发详细流程(无框架,restful风格,MVC架构)
开发语言·前端·golang
码界奇点9 小时前
基于Spring Cloud Alibaba与Vue.js的分布式在线教育系统设计与实现
前端·vue.js·分布式·spring cloud·架构·毕业设计·源代码管理
fruge9 小时前
Web Components 封装实战:打造可复用的跨框架组件
前端
糖墨夕9 小时前
超越随机:JavaScript中真正可靠的唯一标识符生成策略
前端·javascript
码界奇点9 小时前
基于SpringBoot3+Vue的前后端分离电商系统设计与实现
前端·javascript·vue.js·spring·毕业设计·鸿蒙系统·源代码管理
wordbaby9 小时前
macOS ⇄ Android 局域网无线传输 APK 终极方案
前端
m0_471199639 小时前
【vue】通俗易懂的剖析vue3的响应式原理
前端·javascript·vue.js
LYFlied9 小时前
【一句话概括】前端项目包管理器怎么选?
前端·npm·pnpm·yarn