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

前端开发 :(二)HTML基础

1. 介绍HTML

1.1 HTML的定义和作用

HTML(HyperText Markup Language)是一种标记语言,用于创建和设计网页的结构和内容。它通过使用标签来描述文档的结构,使得浏览器能够正确地解释和显示页面。

1.2 HTML的发展历史

HTML的发展可以追溯到1990年代初,随着互联网的发展,HTML逐渐演变为不同的版本。从HTML 2.0到HTML5,每个版本都带来了新的特性和改进,以适应不断变化的互联网环境。

1.3 HTML5的新特性

HTML5引入了许多令人振奋的功能,包括语义化标签、新的表单元素、Web存储和离线应用等。这些特性不仅提升了开发者的工作效率,还改善了用户体验。

2. HTML基础

2.1 HTML文档的结构

一个标准的HTML文档包含<!DOCTYPE html>声明、<html>元素、<head>元素和<body>元素。

<!DOCTYPE html>
<html>
<head><!-- head部分,包含页面的元信息、样式和脚本链接等 -->
</head>
<body><!-- body部分,包含页面的主要内容 -->
</body>
</html>

2.2 HTML元素和标签

HTML元素是构建页面的基本单元,由开始标签、内容和结束标签组成。例如,<p>表示段落,<a>表示超链接。

2.3 HTML属性

HTML元素可以包含属性,属性提供了有关元素的额外信息。例如,<img>元素可以包含src属性,指定要显示的图像的路径。

2.4 HTML注释

通过注释,开发者可以在HTML代码中添加说明或临时禁用某部分代码,提高代码的可维护性。

3. HTML文档的结构

3.1 HTML文档的基本结构

HTML文档的基本结构已在上述介绍中提到,是确保页面正确渲染的关键。

3.2 head元素的作用和常用标签

<head>元素包含页面的元信息,如标题、字符集定义、样式表和脚本链接等。

<head><title>页面标题</title><meta charset="UTF-8"><link rel="stylesheet" href="styles.css"><!-- 其他元信息和链接 -->
</head>

3.3 body元素的结构和常用标签

<body>元素包含页面的主要内容,可以包含标题、段落、列表、图像等。

<body><h1>主标题</h1><p>这是一个段落。</p><img src="image.jpg" alt="图片描述"><!-- 其他页面内容 -->
</body>

3.4 HTML文档的语法规范

遵循HTML的语法规范对于确保页面正确解析至关重要,包括正确使用标签、嵌套规则等。

4. 文本标签

4.1 标题标签

HTML提供了<h1><h6>共六个标题标签,用于定义标题的重要性,<h1>最高,<h6>最低。

<h1>主标题</h1>
<h2>副标题</h2>
<!-- 其他标题标签 -->

4.2 段落标签

段落由<p>标签定义,用于将文本组织成段落。

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

4.3 换行标签

<br>标签用于在文本中创建换行。

这是一行文本。<br>这是下一行文本。

4.4 注释标签

通过<!-- 注释内容 -->可以在HTML代码中添加注释。

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

5. 列表

5.1 有序列表(ol)

有序列表使用<ol>标签,包含<li>标签定义的列表项。

<ol><li>第一项</li><li>第二项</li><!-- 其他列表项 -->
</ol>

5.2 无序列表(ul)

无序列表使用<ul>标签,同样包含<li>标签定义的列表项。

<ul><li>第一项</li><li>第二项</li><!-- 其他列表项 -->
</ul>

5.3 列表项(li)

<li>标签定义列表项,可以嵌套在有序或无序列表中。

<ul><li>第一项</li><li>第二项</li>
</ul>

6. 链接与超文本

6.1 超链接标签(a)

超链接使用<a>标签,通过href属性指定链接目标。

<a href="https://www.example.com">访问示例网站</a>

6.2 锚点标签(anchor)

锚点用于在同一页面内快速跳转,通过在目标位置添加id属性,再使用<a>标签指向该id

<a href="#section2">跳转到第二部分</a>
...
<h2 id="section2">第二部分</h2>

6.3 相对路径和绝对路径

链接可以使用相对路径(相对于当前文件位置)或绝对路径(完整的URL路径)。

<!-- 相对路径 -->
<a href="images/pic.jpg">查看图片</a><!-- 绝对路径 -->
<a href="https://www.example.com/images/pic.jpg">查看图片</a>

7. 图像标签

7.1 图像标签(img)

<img>标签用于在页面中嵌入图像,通过src属性指定图像路径。

<img src="image.jpg" alt="示例图片">

7.2 图像路径和替代文本

良好的图像路径和替代文本有助于页面的可访问性和用户体验。

<img src="images/pic.jpg" alt="美丽的风景">

7.3 图像的尺寸和样式

通过widthheight属性可以指定图像的尺寸,同时可以使用CSS样式调整图像的外观。

<img src="image.jpg" alt="示例图片" width="300" height="200" style="border: 1px solid #ccc;">

8. 表格标签

8.1 表格的基本结构

表格由<table>标签定义,包含<tr>(行)和<td>(数据)标签。

<table><tr><td>第一行第一列</td><td>第一行第二列</td></tr><tr><td>第二行第一列</td><td>第二行第二列</td></tr>
</table>

8.2 表头标签(thead)

表头使用<thead>标签定义,包含<th>标签作为列标题。

<table><thead><tr><th>姓名</th><th>年龄</th></tr></thead><tbody><!-- 表格数据 --></tbody>
</table>

8.3 表格行标签(tr)

<tr>标签定义表格中的行。

<tr><td>John</td><td>25</td>
</tr>

8.4 表格数据标签(td)

<td>标签定义表格中的数据。

<td>25</td>

9. 表单标签

9.1 表单的创建和基本结构

表单通过<form>标签定义,包含输入框、下拉框、按钮等表单元素。

<form action="/submit" method="post"><!-- 表单元素 -->
</form>

9.2 输入框(input)

<input>标签用于创建文本框、密码框等输入元素。

<input type="text" name="username" placeholder="请输入用户名">

9.3 下拉框(select)

<select>标签定义下拉框,包含<option>标签作为选项。

<select name="country"><option value="us">美国</option><option value="cn">中国</option>
</select>

9.4 按钮标签(button)

<button>标签定义按钮,可以用于提交表单或执行JavaScript函数。

<button type="submit">提交</button>

10. 多媒体标签

10.1 音频标签(audio)

<audio>标签用于嵌入音频文件,支持多种音频格式。

<audio controls><source src="audio.mp3" type="audio/mp3">Your browser does not support the audio tag.
</audio>

10.2 视频标签(video)

<video>标签用于嵌入视频文件,同样支持多种视频格式。

<video controls width="640" height="360"><source src="video.mp4" type="video/mp4">Your browser does not support the video tag.
</video>

10.3 嵌入标签(embed)

<embed>标签可用于嵌入其他媒体类型,如Flash动画。

<embed src="animation.swf" width="300" height="200">

11. HTML5新特性

11.1 语义化标签

HTML5引入了一系列语义化标签,如<article><section><header><footer>等,提高了页面的结构清晰性和可读性。

<article><header><h2>文章标题</h2></header><p>文章内容</p><footer>发布日期:2024年02月06日</footer>
</article>

11.2 新的表单元素

HTML5新增了一些表单元素,如<input type="date"><input type="email"><input type="url">等,简化了表单输入的验证和展示。

<label for="birthdate">生日:</label>
<input type="date" id="birthdate" name="birthdate">

11.3 Web存储和离线应用

HTML5提供了本地存储和离线应用的支持,通过localStorageservice workers等技术,提升了Web应用的性能和用户体验。

// 使用localStorage存储数据
localStorage.setItem("username", "John Doe");// 注册service worker以实现离线缓存
if ('serviceWorker' in navigator) {navigator.serviceWorker.register('/sw.js').then(function(registration) {console.log('Service Worker 注册成功:', registration);}).catch(function(error) {console.log('Service Worker 注册失败:', error);});
}

12. 响应式Web设计

12.1 移动优先设计理念

响应式设计采用“移动优先”原则,首先针对移动设备进行设计和优化,然后逐步适配更大的屏幕。

12.2 媒体查询(media queries)

使用媒体查询可以根据不同设备特性应用不同的样式,以实现响应式布局。

@media screen and (min-width: 768px) {/* 在宽度大于等于768px的屏幕上应用的样式 */body {font-size: 16px;}
}

12.3 viewport设置

通过设置<meta>标签的viewport属性,可以控制页面在移动设备上的显示效果。

<meta name="viewport" content="width=device-width, initial-scale=1.0">

13. HTML元素的样式

13.1 内联样式

内联样式通过在HTML元素中使用style属性来定义,适用于个别元素的样式设置。

<p style="color: blue; font-size: 14px;">这是一个蓝色字体的段落。</p>

13.2 内部样式表

内部样式表嵌入在HTML文档的<style>标签内,适用于整个文档或单个页面的样式定义。

<head><style>body {background-color: #f0f0f0;}h1 {color: green;}</style>
</head>

13.3 外部样式表

外部样式表以.css文件存储,并通过<link>标签引入,适用于整个网站的样式共享。

<head><link rel="stylesheet" href="styles.css">
</head>

14. HTML与CSS的交互

14.1 样式选择器

CSS选择器用于选择要应用样式的HTML元素,有多种类型的选择器,如类选择器、ID选择器、元素选择器等。

/* 类选择器 */
.my-class {color: red;
}/* ID选择器 */
#my-id {font-size: 18px;
}/* 元素选择器 */
p {margin: 10px;
}

14.2 CSS盒模型

CSS盒模型描述了元素在页面中的布局,包括内容、内边距、边框和外边距。

/* 盒模型属性设置 */
div {width: 200px;padding: 10px;border: 1px solid #ccc;margin: 20px;
}

14.3 CSS布局

CSS布局通过使用floatpositionflexboxgrid等属性,控制元素在页面中的位置和排列方式。

/* 使用flexbox布局 */
.container {display: flex;justify-content: space-between;
}

15. HTML语义化

15.1 语义化的概念

语义化是指通过HTML标签传达文档结构和内容的含义,使页面更具有可读性和可维护性。

15.2 为什么要使用语义化标签

使用语义化标签有助于搜索引擎优化(SEO)、提高网页的可访问性,以及使开发者更容易理解和维护代码。

15.3 实际应用中的语义化

例如,使用<header><nav><main><article>等标签可以清晰地定义页面的结构,而不仅仅依赖于<div>元素。

<header><h1>网页标题</h1><nav><ul><li><a href="#">首页</a></li><li><a href="#">关于我们</a></li><li><a href="#">联系我们</a></li></ul></nav>
</header>
<main><article><h2>文章标题</h2><p>文章内容...</p></article>
</main>

相关文章:

前端开发 :(二)HTML基础

1. 介绍HTML 1.1 HTML的定义和作用 HTML&#xff08;HyperText Markup Language&#xff09;是一种标记语言&#xff0c;用于创建和设计网页的结构和内容。它通过使用标签来描述文档的结构&#xff0c;使得浏览器能够正确地解释和显示页面。 1.2 HTML的发展历史 HTML的发展…...

小米平板6获取root权限教程

1. 绑定账号 1> 打开"设置-我的设备-全部参数-连续点击MIUI版本按钮"&#xff0c;直到提示已打开开发者模式( p s : 这里需要重点关注红框平板型号和 M I U I 版本&#xff0c;例如我这里平板型号是 X i a o m i P a d 6 &#xff0c; M I U I 版本是 14.0.10 &am…...

01. k210-命令行环境搭建(ubuntu环境)

本文主要讲解k210在ubuntu23.04操作系统中的环境搭建 1.获取工具链 github下载工具链 截止到目前最新版本是:Kendryte GNU Toolchain v8.2.0-20190409[Pre-release]。 编译好的镜像有ubuntu版本和windows版本&#xff0c;本章我们主要讲解的是ubuntu系统的开发环境。 Versio…...

Spring Boot3整合Redis

⛰️个人主页: 蒾酒 &#x1f525;系列专栏&#xff1a;《spring boot实战》 &#x1f30a;山高路远&#xff0c;行路漫漫&#xff0c;终有归途。 目录 前置条件 1.导依赖 2.配置连接信息以及连接池参数 3.配置序列化方式 4.编写测试 前置条件 已经初始化好一个spr…...

算法之美_2024

算法与数据结构进阶 – liuyubobo 学习链接 &#xff1a; 算法与数据结构 玩转算法面试 – Leetcode真题分门别类讲解 学习链接&#xff1a;玩转算法面试 LLM行业领军大佬 带你转型大语言模型 学习链接&#xff1a;LLM 区块链 学习链接&#xff1a;区块链 运维测试 学…...

Leetcode刷题笔记题解(C++):590. N 叉树的后序遍历

思路&#xff1a;类似于二叉树的排序&#xff0c;这里需要将子树进行依次递归遍历&#xff0c;前序遍历也与之类似 /* // Definition for a Node. class Node { public:int val;vector<Node*> children;Node() {}Node(int _val) {val _val;}Node(int _val, vector<N…...

华为CC++语言编程规范--笔记

华为C&C语言编程规范 1.基本要求1.1 变量规则1.1.1&#xff1a;指针变量、表示资源描述符的变量、BOOL变量声明必须赋予初值规则1.1.2&#xff1a;指向资源句柄或描述符的变量&#xff0c;在资源释放后立即赋予新值规则1.1.3&#xff1a;类的成员变量必须在构造函数中赋予初…...

洛谷_P5461 赦免战俘_python写法

捋一下这道题的思路&#xff0c;理解了题目的意思之后我们知道这道题一定会用递归。 那递归的出口很简单&#xff0c;矩阵为1x1的时候就是题目所说的不能再细分下去的意思。 问题就在于递归体。 我对于递归体的理解是找到一个普适的规律&#xff0c;这个规律适用于每一次的递归…...

RabbitMQ的延迟队列实现[死信队列](笔记二)

上一篇已经讲述了实现死信队列的rabbitMQ服务配置&#xff0c;可以点击: RabbitMQ的延迟队列实现(笔记一) 目录 搭建一个新的springboot项目模仿订单延迟支付过期操作启动项目进行测试 搭建一个新的springboot项目 1.相关核心依赖如下 <dependency><groupId>org.…...

买电脑注意事项之CPU型号后面的字母都代表什么意思

在 CPU 型号后面的字母通常表示该 CPU 的一些特性或用途。不同的字母可能代表不同的系列、性能级别、功耗特性等。以下是一些常见的 CPU 后缀字母及其可能的含义&#xff1a; U&#xff08;例如&#xff1a;i5-8250U&#xff09;: Ultra Low Power&#xff1a;表示低功耗&#…...

Transformer实战-系列教程11:SwinTransformer 源码解读4(WindowAttention类)

&#x1f6a9;&#x1f6a9;&#x1f6a9;Transformer实战-系列教程总目录 有任何问题欢迎在下面留言 本篇文章的代码运行界面均在Pycharm中进行 本篇文章配套的代码资源已经上传 点我下载源码 SwinTransformer 算法原理 SwinTransformer 源码解读1&#xff08;项目配置/SwinTr…...

Jenkins(本地Windows上搭建)上传 Pipeline构建前端项目并将生成dist文件夹上传至指定服务器

下载安装jdk https://www.oracle.com/cn/java/technologies/downloads/#jdk21-windows 下载jenkins window版 双击安装 https://www.jenkins.io/download/thank-you-downloading-windows-installer-stable/ 网页输入 http://localhost:8088/ 输入密码、设置账号、安装推…...

Elasticsearch 安装和配置脚本文档

Elasticsearch 安装和配置脚本文档 目录 **Elasticsearch 安装和配置脚本文档**0.**概述**1.**使用方法&#xff1a;**2.**脚本步骤&#xff1a;**3. **完整代码如下&#xff1a;** 0.概述 此Bash脚本用于自动化在CentOS 7系统上安装和配置Elasticsearch&#xff08;ES&#x…...

【Android辟邪】之:gradle——在项目间共享依赖关系版本

翻译和简单修改自&#xff1a;https://docs.gradle.org/current/userguide/platforms.html#sec:sharing-catalogs 建议看原文&#xff08;有能力的话&#xff09; 现在 Gradle 脚本可以使用两种语法编写&#xff1a;Kotlin 和 Groovy 本文只使用kotlin脚本语法&#xff0c;更…...

Qt 项目树工程,拷贝子项目dll到子项目exe运行路径

1、项目树工程 2、项目树列表 ---- BuildAll -------- App &#xff08;exe&#xff09; -------- Database &#xff08;dll&#xff09; 注&#xff1a;使用 子项目–>添加库–>内部库 的方式 3、qmake 内置的变量 $$OUT_PWD 表示输出文件&#xff08;如可执行文件…...

进程间通信方式

1>内核提供的原始通信方式有三种 1&#xff09;无名管道 2&#xff09;有名管道 3&#xff09;信号 2>System V提供了三种通信方式 4&#xff09;消息队列 5&#xff09;共享内存 6&#xff09;信号量&#xff08;信号灯集&#xff09; 3>套接字通信 7)socke…...

[linux]:匿名管道和命名管道(什么是管道,怎么创建管道(函数),匿名管道和命名管道的区别,代码例子)

目录 一、匿名管道 1.什么是管道&#xff1f;什么是匿名管道&#xff1f; 2.怎么创建匿名管道&#xff08;函数&#xff09; 3.匿名管道的4种情况 4.匿名管道有5种特性 5.怎么使用匿名管道&#xff1f;匿名管道有什么用&#xff1f;&#xff08;例子&#xff09; 二、命名…...

Python调用matlab程序

matlab官网&#xff1a;https://ww2.mathworks.cn/?s_tidgn_logo matlab外部语言和库接口&#xff0c;包括 Python、Java、C、C、.NET 和 Web 服务。 matlab和python的版本 安装依赖配置 安装matlab的engine 找到matlab的安装目录&#xff1a;“xxx\ extern\engines\python…...

FlinkSql 窗口函数

Windowing TVF 以前用的是Grouped Window Functions&#xff08;分组窗口函数&#xff09;&#xff0c;但是分组窗口函数只支持窗口聚合 现在FlinkSql统一都是用的是Windowing TVFs&#xff08;窗口表值函数&#xff09;&#xff0c;Windowing TVFs更符合 SQL 标准且更加强大…...

十分钟GIS——geoserver+postgis+udig从零开始发布地图服务

1数据库部署 1.1PostgreSql安装 下载到安装文件后&#xff08;postgresql-9.2.19-1-windows-x64.exe&#xff09;&#xff0c;双击安装。 指定安装目录&#xff0c;如下图所示 指定数据库文件存放目录位置&#xff0c;如下图所示 指定数据库访问管理员密码&#xff0c;如下图所…...

利用最小二乘法找圆心和半径

#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …...

SkyWalking 10.2.0 SWCK 配置过程

SkyWalking 10.2.0 & SWCK 配置过程 skywalking oap-server & ui 使用Docker安装在K8S集群以外&#xff0c;K8S集群中的微服务使用initContainer按命名空间将skywalking-java-agent注入到业务容器中。 SWCK有整套的解决方案&#xff0c;全安装在K8S群集中。 具体可参…...

MFC内存泄露

1、泄露代码示例 void X::SetApplicationBtn() {CMFCRibbonApplicationButton* pBtn GetApplicationButton();// 获取 Ribbon Bar 指针// 创建自定义按钮CCustomRibbonAppButton* pCustomButton new CCustomRibbonAppButton();pCustomButton->SetImage(IDB_BITMAP_Jdp26)…...

【磁盘】每天掌握一个Linux命令 - iostat

目录 【磁盘】每天掌握一个Linux命令 - iostat工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景 注意事项 【磁盘】每天掌握一个Linux命令 - iostat 工具概述 iostat&#xff08;I/O Statistics&#xff09;是Linux系统下用于监视系统输入输出设备和CPU使…...

Angular微前端架构:Module Federation + ngx-build-plus (Webpack)

以下是一个完整的 Angular 微前端示例&#xff0c;其中使用的是 Module Federation 和 npx-build-plus 实现了主应用&#xff08;Shell&#xff09;与子应用&#xff08;Remote&#xff09;的集成。 &#x1f6e0;️ 项目结构 angular-mf/ ├── shell-app/ # 主应用&…...

NXP S32K146 T-Box 携手 SD NAND(贴片式TF卡):驱动汽车智能革新的黄金组合

在汽车智能化的汹涌浪潮中&#xff0c;车辆不再仅仅是传统的交通工具&#xff0c;而是逐步演变为高度智能的移动终端。这一转变的核心支撑&#xff0c;来自于车内关键技术的深度融合与协同创新。车载远程信息处理盒&#xff08;T-Box&#xff09;方案&#xff1a;NXP S32K146 与…...

在树莓派上添加音频输入设备的几种方法

在树莓派上添加音频输入设备可以通过以下步骤完成&#xff0c;具体方法取决于设备类型&#xff08;如USB麦克风、3.5mm接口麦克风或HDMI音频输入&#xff09;。以下是详细指南&#xff1a; 1. 连接音频输入设备 USB麦克风/声卡&#xff1a;直接插入树莓派的USB接口。3.5mm麦克…...

6个月Python学习计划 Day 16 - 面向对象编程(OOP)基础

第三周 Day 3 &#x1f3af; 今日目标 理解类&#xff08;class&#xff09;和对象&#xff08;object&#xff09;的关系学会定义类的属性、方法和构造函数&#xff08;init&#xff09;掌握对象的创建与使用初识封装、继承和多态的基本概念&#xff08;预告&#xff09; &a…...

ZYNQ学习记录FPGA(一)ZYNQ简介

一、知识准备 1.一些术语,缩写和概念&#xff1a; 1&#xff09;ZYNQ全称&#xff1a;ZYNQ7000 All Pgrammable SoC 2&#xff09;SoC:system on chips(片上系统)&#xff0c;对比集成电路的SoB&#xff08;system on board&#xff09; 3&#xff09;ARM&#xff1a;处理器…...

在golang中如何将已安装的依赖降级处理,比如:将 go-ansible/v2@v2.2.0 更换为 go-ansible/@v1.1.7

在 Go 项目中降级 go-ansible 从 v2.2.0 到 v1.1.7 具体步骤&#xff1a; 第一步&#xff1a; 修改 go.mod 文件 // 原 v2 版本声明 require github.com/apenella/go-ansible/v2 v2.2.0 替换为&#xff1a; // 改为 v…...