【前端基础】HTML + CSS + JavaScript 快速入门(一):HTML 详解

【前端基础】HTML + CSS + JavaScript 快速入门(一):HTML 详解

【前端基础】HTML + CSS + JavaScript 快速入门(一):HTML 详解

请添加图片描述

我的主页:寻星探路个人专栏:《JAVA(SE)----如此简单!!! 》《从青铜到王者,就差这讲数据结构!!!》
《数据库那些事!!!》《JavaEE 初阶启程记:跟我走不踩坑》
《JavaEE 进阶:从架构到落地实战 》《测试开发漫谈》
《测开视角・力扣算法通关》《从 0 到 1 刷力扣:算法 + 代码双提升》
《Python 全栈测试开发之路》没有人天生就会编程,但我生来倔强!!!

寻星探路的个人简介:

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

【前端基础】HTML + CSS + JavaScript 快速入门(一):HTML 详解

摘要:本文是前端开发系列教程的第一篇。我们将从零开始认识 HTML 的基本结构,深入解析常用的 HTML 标签(如排版、媒体、链接、表格、表单等),并配合实际案例完成一个用户注册界面的搭建。
适用人群:后端开发人员、前端初学者、在校学生。

1. 学习目标

在开始之前,我们先明确本阶段(包含后续 CSS 和 JS)的学习目标 :

  1. 认识 HTML 的基本结构,学习常用的 HTML 标签。
  2. 掌握 CSS 基本语法规范和 CSS 选择器的各种用法,熟练使用 CSS 的常用属性。
  3. 了解什么是 JavaScript,学习 JavaScript 的常见操作,以及使用 jQuery 完成简单的页面元素操作。

2. HTML 基础

2.1 什么是 HTML

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

  • 超文本:比文本要强大。通过链接和交互式方式来组织和呈现信息的文本形式。不仅仅有文本,还可能包含图片、音频,或者审阅过它的学者所加的评注、补充或脚注等等 。
  • 标记语言:由标签构成的语言 。

HTML 的标签都是提前定义好的,使用不同的标签,表示不同的内容。这就类似飞书文档或 Word 文档,如果我们选中一段文本点击“标题1”,就会使用标题1的样式来显示文本。上述“标题1”在代码层面就是一个“标签” 。

代码示例:

<h1>我是一级标题</h1><h2>我是二级标题</h2><h3>我是三级标题</h3>

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

在这里插入图片描述

上面代码中的 <h1><h2><h3> 就是标签。学习 HTML 主要就是学习标签 。

2.2 认识 HTML 标签

HTML 代码是由“标签”构成的。基本语法如下 :

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

2.3 HTML 文件基本结构

一个标准的 HTML 文件结构如下所示 :

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

2.4 标签层次结构

标签之间存在结构关系,主要分为父子关系兄弟关系

以基本结构代码为例:

  • headbodyhtml 的子标签(html 就是 headbody 的父标签) 。
  • titlehead 的子标签,headtitle 的父标签 。
  • headbody 之间是兄弟关系 。
技巧:可以使用 Chrome 的开发者工具查看页面的结构。按 F12 或者右键“检查”(审查元素),开启开发者工具,切换到 Elements 标签,就可以看到页面结构细节 。标签之间的结构关系,构成了一个 DOM 树(DOM 是 Document Object Model 文档对象模型的缩写) 。

3. HTML 快速入门

3.1 开发工具

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

VS Code 是 Microsoft 在 2015 年推出的跨平台源代码编辑器,支持 Windows、Linux 和 macOS。它内置支持 JavaScript、TypeScript 和 Node.js,并拥有丰富的插件生态(支持 C++, C#, Java, Python, Go 等) 。

3.2 快速开发

在 VS Code 中创建文件 xxx.html,直接输入 ! (英文感叹号),按 EnterTab 键,此时能自动生成代码的主体框架 。

<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="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" ...>:设置可视区和设备宽度等宽,并设置初始缩放为不缩放(对移动端开发重要) 。

<body></body> 标签中书写文字,按 Ctrl+S 保存文件,通过浏览器访问即可运行 。


4. HTML 常见标签

4.1 标题标签:h1-h6

标题标签一共有六个,从 h1h6。数字越大,字体越小 。

<h1>hello</h1><h2>hello</h2><h3>hello</h3><h4>hello</h4><h5>hello</h5><h6>hello</h6>

4.2 段落标签:p

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

<p>这是一个段落</p><p>这是一个段落</p>

注意

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

4.3 换行标签:br

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

  • br 是一个单标签 。
  • br 标签不像 p 标签那样带有一个很大的段落空隙 。
  • 规范写法是 <br/>,不建议写成 <br>

4.4 图片标签:img

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

<imgsrc="rose.jpg"width="500px"height="800px"border="5px">

常用属性

  • width/height:控制宽度高度。一般改一个就行,另一个会等比例缩放,否则图片会失衡。
  • border:边框(一般使用 CSS 设定)。

关于目录结构与路径

  1. 相对路径:以 html 所在位置为基准。
  • 同级路径:直接写文件名 (如 rose.jpg./rose.jpg)。
  • 下一级路径:image/1.jpg
  • 上一级路径:../image/1.jpg
  1. 绝对路径:完整的磁盘路径或网络路径。
  • 磁盘路径:D:/rose.jpg (建议使用 /)。
  • 网络路径:完整的 URL 地址。

4.5 超链接:a

a 标签用于实现页面跳转。

<ahref="http://www.baidu.com"target="_blank">百度</a>

常用属性

  • href:必须具备,表示点击后会跳转到哪个页面。
  • target:打开方式。默认是 _self (当前页打开),如果是 _blank 则用新标签页打开。

链接形式

  • 外部链接:引用其他网站地址。
  • 内部链接:网站内部页面跳转,写相对路径即可(如 <a href="2.html">跳转</a>)。
  • 空链接:使用 # 占位(如 <a href="#">空链接</a>)。

5. 表格标签

表格标签用于展示数据。

  • table:表示整个表格 。
  • tr:表示表格的一行 。
  • td:表示一个单元格 。
  • thead / tbody:表格的头部和主体区域 。

常用属性(放到 table 标签中) :

  • align: 表格相对于周围元素的对齐方式(如 center)。
  • border: 边框,1 表示有边框,"" 表示没边框。
  • cellpadding: 内容距离边框的距离。
  • cellspacing: 单元格之间的距离。
  • width / height: 设置尺寸。

代码示例:

<tablealign="center"border="1"cellpadding="20"cellspacing="0"width="500"><tr><td>姓名</td><td>性别</td><td>年龄</td></tr><tr><td>张三</td><td>男</td><td>10</td></tr></table>

6. 表单标签

表单是让用户输入信息的重要途径。主要分为表单域form)和表单控件input 等) 。

6.1 form 标签

<formaction="test.html"></form>

描述了要把数据按照什么方式,提交到哪个页面中(需结合后端理解) 。

6.2 input 标签

各种输入控件。type 属性必须有,决定了控件的类型 。

常用 type 类型

  1. 文本框 (text):<input type="text">
  2. 密码框 (password):<input type="password">
  3. 单选框 (radio):
<inputtype="radio"name="sex">男 <inputtype="radio"name="sex"checked="checked">女 

注意:单选框必须具备相同的 name 属性,才能实现多选一。
4. 复选框 (checkbox):<input type="checkbox"> 吃饭
5. 普通按钮 (button):需搭配 JS 使用。

<inputtype="button"value="我是个按钮"onclick="alert('hello')">
  1. 提交按钮 (submit):必须放到 form 内,点击后尝试发送请求。

6.3 select 标签(下拉菜单)

option 标签定义选项,selected="selected" 表示默认选中 。

<select><option>北京</option><optionselected="selected">上海</option></select>

6.4 textarea 标签(多行文本域)

<textarearows="3"cols="50"> 默认内容 </textarea>

注意:文本域中的空白空格也会被视为内容 。


7. 无语义标签:div & span

这两个标签没有特定的语义,主要用于网页布局,可以理解为“盒子” 。

  • div (division):分割。是块级元素,独占一行,是大盒子 。
  • span:跨度。是行内元素,不独占一行,是小盒子。
<div><span>内容1</span><span>内容2</span></div>

8. 综合练习:用户注册页面

需求:使用表格进行整体布局,使用各种 input 标签实现页面中的输入控件 。

代码实现:

<h1>用户注册</h1><table><tr><td>用户名</td><td><inputtype="text"placeholder="请输入用户名"></td></tr><tr><td>手机号</td><td><inputtype="text"placeholder="请输入手机号"></td></tr><tr><td>密码</td><td><inputtype="password"placeholder="请输入密码"></td></tr></table><div><inputtype="button"value="注册"><span>已有账号?</span><ahref="#">登录</a></div>
在这里插入图片描述

下一篇预告
单纯的 HTML 页面虽然有了骨架,但还不够美观。在下一篇**【CSS 篇】**中,我们将学习如何使用 CSS 为页面“化妆”,通过选择器、盒子模型和各种样式属性,让网页变得更加漂亮。

Read more

Spring Cloud与Dubbo架构哲学对决

Spring Cloud与Dubbo架构哲学对决

目录 摘要 🎯 开篇:别被"微服务"这个词忽悠了 🏗️ 架构哲学:两种完全不同的"世界观" 🎨 Spring Cloud:生态为王的全家桶 ⚡ Dubbo:专精RPC的特种兵 📊 性能对决:数据不说谎 🔧 核心原理:扒开看看里面啥样 🎯 Spring Cloud 2025.1.0的"虚拟线程革命" ⚡ Dubbo 3.0的Triple协议:对标gRPC 🚀 实战:从零搭建混合微服务架构 🏢 场景:电商平台(日均订单千万级) 📝 分步骤实现 步骤1:搭建Spring Cloud Gateway 步骤2:Dubbo核心服务实现 步骤3:Spring Cloud外围服务 步骤4:

By Ne0inhk
RUST异步微服务架构的最佳实践与常见反模式

RUST异步微服务架构的最佳实践与常见反模式

RUST异步微服务架构的最佳实践与常见反模式 一、项目优化前的问题分析 1.1 任务调度不合理 💡在第21篇项目中,用户同步服务的任务调度使用了Cron调度器,但Cron调度器的精度有限,可能导致任务执行延迟。此外,任务的并发度没有配置,可能导致任务积压。 1.2 I/O资源限制不足 订单处理服务的TCP连接队列大小没有配置,可能导致连接失败。数据库连接池的大小没有配置,可能导致数据库连接耗尽。 1.3 同步原语使用不当 实时监控服务中,Redis连接没有使用连接池,可能导致连接开销过大。任务结果的处理没有使用批量操作,可能导致上下文切换过多。 1.4 错误处理不完善 任务失败的处理逻辑不够完善,没有进行任务重试和错误统计。服务之间的通信没有进行超时管理和错误处理。 二、异步架构设计模式的应用 2.1 命令查询分离(CQS) CQS是一种架构设计模式,将系统的操作分为命令和查询两种类型。命令用于修改系统状态,查询用于获取系统状态,两者互不干扰。 在项目中,我们可以将用户同步任务视为命令操作,将系统状态查询视为查询操作: // 用户同步任务(

By Ne0inhk
MySQL迁金仓:高兼容+自动化,国产化迁移低成本落地实战

MySQL迁金仓:高兼容+自动化,国产化迁移低成本落地实战

目录 一、MySQL兼容性:决定迁移成本与难度的核心 1.1 协议层兼容:应用端几乎零改动,省出大量工时 1.2 语法与函数兼容:核心SQL直接复用,无需改写 1.3 数据类型与字符集兼容:贴合MySQL习惯,数据零损耗 1.4 数据库对象兼容:视图、触发器、函数直接复用,省掉隐性工作量 1.5 兼容差异注意事项:少量微调,工具自动处理 二、金仓迁移工具链(KDTS+KFS):全流程自动化,严控成本与停机时间 2.1 工具链核心:针对性解决手工迁移的核心痛点 2.2 KDTS:全量迁移自动化引擎,替代低效手工导入 2.3 KFS:增量同步+

By Ne0inhk
RUST:异步代码的测试与调试艺术

RUST:异步代码的测试与调试艺术

RUST:异步代码的测试与调试艺术 一、异步测试的本质与难点 1.1 异步测试与同步测试的区别 💡在Rust同步编程中,测试通常是顺序执行的,每个测试函数会阻塞线程直到完成,结果是确定的。而异步测试的结果可能受到任务调度、网络延迟、数据库连接等因素的影响,时序性和状态管理更加复杂。 同步测试示例: #[cfg(test)]modtests{#[test]fntest_add(){assert_eq!(1+1,2);}} 异步测试示例(使用Tokio测试宏): #[cfg(test)]modtests{usetokio::time::sleep;usestd::time::Duration;#[tokio::test]asyncfntest_async_add(){sleep(Duration::from_millis(100)).await;assert_

By Ne0inhk