【前端基础】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

飞算JavaAI插件深度体验:三天任务半小时搞定,AI编程的革命性突破

飞算JavaAI插件深度体验:三天任务半小时搞定,AI编程的革命性突破

文章目录 * 飞算JavaAI插件深度体验:三天任务半小时搞定,AI编程的革命性突破 * 一、引言:从绝望到惊喜的转变 * 二、飞算JavaAI初体验:对话即开发 * 2.1 插件安装与配置 * 2.2 需求分析:AI理解业务场景 * 2.3 接口设计:从需求到API * 2.4 数据库设计:智能表结构生成 * 2.5 业务逻辑生成:核心功能实现 * 2.6 一键生成源码:项目快速构建 * 三、项目构建完成:效率提升的震撼体验 * 3.1 代码质量评估 * 四、实际运行测试:验证AI生成代码的可用性 * 4.1 接口测试结果 * 五、性能对比:传统开发 VS AI辅助开发

【JDK】-JDK 17 新特性整理(比较全)

【JDK】-JDK 17 新特性整理(比较全)

JDK 17 新特性 1、JDK 17中的Pattern类增强了哪些功能? 1. 新增asMatchPredicate方法: JDK 17的Pattern类新增了asMatchPredicate方法,可以将正则表达式编译为Predicate。 2. 增强了Unicode属性支持: JDK 17中的Pattern类增强了对Unicode属性的支持,使得正则表达式可以更好地处理Unicode字符。 3. 引入了新的转义语法: JDK 17引入了一种新的转义语法,可以更方便地转义正则表达式中的特殊字符,提高了正则表达式的可读性和可维护性。 4. 优化了性能: JDK 17对Pattern类的底层实现进行了优化,提升了正则表达式匹配的性能和效率。 5. 增加了对断言的支持: JDK 17中的Pattern类增加了对断言的支持,可以更灵活地进行正则表达式的匹配和处理。 2、JDK 17中的HTTP/2 Client有哪些新特性? 1. 提供了WebSocket支持: JDK 17中的HTTP/2 Client新增了对WebSocket的支持,使得开发者可以更方便地进行WebS

FastJson2 完整使用指导文档(Java 后端企业级实战版)

FastJson2 完整使用指导文档(Java 后端企业级实战版)

以下是一份专为 Java 后端开发者设计的 FastJson2 详细使用指导说明文档,涵盖定义、作用、必要性、核心功能、与主流工具对比、企业级实战建议,并附带带详细中文注释的代码示例,助你和团队高效落地。 📄 FastJson2 完整使用指导文档(Java 后端企业级实战版) 适用人群:Java 后端开发者、架构师、技术负责人 目标:全面掌握 FastJson2 的核心能力,替代旧版 FastJson / Jackson / GSON,提升序列化性能与安全性,推动团队标准化落地 一、FastJson2 是什么? FastJson2 是阿里巴巴开源的下一代高性能 JSON 库,是 FastJson 1.x 的彻底重构版本,于 2022 年正式发布。它在性能、安全性、标准兼容性、

Java LLM开发框架全面解析:从Spring AI到Agents-Flex

Java LLM开发框架全面解析:从Spring AI到Agents-Flex

🧑 博主简介:ZEEKLOG博客专家,历代文学网(PC端可以访问:https://literature.sinhy.com/#/?__c=1000,移动端可关注公众号 “ 心海云图 ” 微信小程序搜索“历代文学”)总架构师,16年工作经验,精通Java编程,高并发设计,分布式系统架构设计,Springboot和微服务,熟悉Linux,ESXI虚拟化以及云原生Docker和K8s,热衷于探索科技的边界,并将理论知识转化为实际应用。保持对新技术的好奇心,乐于分享所学,希望通过我的实践经历和见解,启发他人的创新思维。在这里,我希望能与志同道合的朋友交流探讨,共同进步,一起在技术的世界里不断学习成长。 🤝商务合作:请搜索或扫码关注微信公众号 “ 心海云图 ” Java LLM开发框架全面解析:从Spring AI到Agents-Flex 在人工智能席卷全球的今天,Java开发者无需转向Python生态,也能充分利用大语言模型的强大能力,这得益于日益成熟的Java LLM开发框架。 近年来,随着大语言模型(LLM)技术的迅猛发展,AI能力已成为现代应用开发不可或缺的部分。作为企业