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

HTML 理论笔记

HTML 理论笔记

什么是HTML

​ HTML (HyperText Markup Language, 超文本标记语言) 是网页的结构语言,它不负责“好不好看”(CSS),也不负责“能不能动”(JS/TS),它只负责“是什么”。它决定了网页的骨架与内容的组织(Backbone)。在现代 Web 架构中,它与 CSS、JavaScript 共同组成前端三大核心技术,各司其职:

技术作用角色类比
HTML负责内容、语义与结构 (Structure)建筑的钢筋骨架
CSS控制视觉样式与布局 (Style)建筑的室内装修
JavaScript控制行为与交互逻辑 (Behavior)建筑的水电系统与智能家居

HTML 文档由一系列元素 (Element) 组成。一个典型的元素通常包括一个开始标签、一些内容和一个结束标签:

<tagname attribute="value">这是元素的内容</tagname>

HTML 的属性 (Attributes)

属性 (Attribute) 是 HTML 的精髓所在。它们为 HTML 元素提供了额外的信息,或者用于控制元素的行为。属性总是写在开始标签内,通常以 属性名=“属性值” 的形式出现。

<元素名 属性名1="属性值1" 属性名2="属性值2">内容</元素名>
属性类型示例用途
全局属性id, class, title, lang, style几乎所有 HTML 元素都可以使用。
特定属性<img src="...">, <a href="...">, <input type="...">仅对特定标签有效,定义其核心功能。
事件属性onclick, onchange, onmouseover定义当某个事件发生时应执行的 JavaScript。

​ 值得一提的是——一个标签可以包含多个属性,用空格隔开。属性值推荐始终使用双引号 (") 包裹(虽然单引号也有效,但双引号是更广泛的规范)。但是还有一类特殊的属性叫布尔属性。它们的存在即代表 true,不存在则代表 false。

<input type="checkbox" checked>
<input type="text" disabled>

HTML 模板与元信息 (The HTML Boilerplate)

1. 什么是 HTML Boilerplate?

Boilerplate (样板代码) 是指您在创建任何新网页时都会用到的基础模板结构。它包含了一系列必要的声明,以确保浏览器能够正确地解释咱们编写的HTML。这是一个现代 HTML5 必备的基础结构:

<!DOCTYPE html>
<html lang="zh-CN"><head><meta charset="UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>title of the page</title><link rel="stylesheet" href="style.css" /></head><body><h1>Hey Dude!</h1><script src="app.js"></script></body>
</html>
2. 各部分详细解释
元素/声明功能与重要性
<!DOCTYPE html>文档类型声明。这是在告诉浏览器:“请使用最新的 HTML5 标准来渲染我!”。如果没有它,浏览器可能会进入“怪异模式 (Quirks Mode)”,导致布局混乱。
<html lang="en">根元素。lang 属性(此处示例为 en 英语,中文应为 zh-CN)对 SEO 和可访问性 (Accessibility) 至关重要,它能帮助搜索引擎和屏幕阅读器理解页面语言。
<head>元信息区域。这里面的一切都是“关于网页的信息”,它们不会直接显示在页面上,但会控制浏览器的行为。
<meta charset="UTF-8">字符编码声明UTF-8 是国际通用的多语言编码方案。这是防止中文网页显示为乱码的必备声明。
<meta name="viewport" ...>视口设置。这是移动端开发的“金标准”。width=device-width 告诉浏览器页面宽度应等于设备宽度,initial-scale=1.0 则设置初始缩放为 1.0,确保页面在手机上以正常比例显示。
<title>页面标题。它会显示在浏览器的标签栏或窗口标题上,也是搜索引擎结果中最重要的链接文本。
<link rel="stylesheet" ...>链接外部资源。最常见的用途是链接外部 CSS 样式文件。
<body>主体内容区。所有用户能在浏览器窗口中“看到”的内容(如文本、图片、视频)都应放在这里。

HTML 基础语法与元素 (HTML Fundamentals)

<div> 元素:万能的分组容器

<div> (division) 可能是最常遇到的元素。它本身没有任何语义含义,它的唯一作用就是作为一个通用的分组容器。通常会用 <div> 来将相关联的元素包裹在一起,以便于:

  1. 使用 CSS 进行统一的布局(如 Flexbox, Grid)。
  2. 使用 JavaScript 进行整体操作。
<div class="container"><div class="header">...</div><div class="main-content">...</div><div class="footer">...</div>
</div>
idclass:CSS 和 JS 的“钩子”

idclass 是最重要的两个全局属性,它们是连接 HTML 与 CSS/JavaScript 的桥梁。

属性特点核心用途
id页面唯一。像身份证号,一个页面中一个 id 值只能出现一次。1. JavaScript 精确获取唯一元素 (document.getElementById)。 2. 页面内锚点跳转 (<a href="#main">)。
class可复用。像人的“姓氏”或“标签”,一个元素可以有多个 class,一个 class 也可以用在多个元素上。1. CSS 样式的主要选择器。 2. JavaScript 批量获取一组元素 (document.querySelectorAll('.item'))。
<div id="main-navigation" class="menu dark-theme sticky">...</div>
HTML 实体 (Entities)

在 HTML 中,某些符号具有特殊含义(例如 <> 被用于定义标签)。如果你想在文本中直接显示这些符号,就必须使用“实体”。

实体显示含义
<<小于号
>>大于号
&&和号
(一个空格)不间断空格 (Non-Breaking Space)
©©版权符号
<script> 元素:注入交互

<script> 元素用于引入或直接编写 JavaScript 代码。这里有两种style,一种是内联脚本 (不推荐用于复杂逻辑)

<script>console.log('Hello from inline script!');
</script>

还有一种是大伙常用的,外部链接脚本

<script src="app.js"></script>

HTML 与 SEO (搜索引擎优化)

HTML 结构和元信息会直接影响搜索引擎(如 Google, Baidu)如何收录和展示你的网页。

Meta Description (页面描述)

这个标签不会显示在页面上,但它会告诉搜索引擎在搜索结果中显示怎样的摘要内容

<meta name="description" content="在这篇综合指南中,一步步学习 HTML 基础、高级标签和 SEO 技巧。">
  • 推荐长度:50–160 个字符。
  • 核心:应准确、诱人地概述页面内容,吸引用户点击。
Open Graph (OG) 标签 (社交媒体优化)

当你把链接分享到微信、微博、Facebook 或 Twitter 时,你看到的标题、缩略图和描述是由 Open Graph (OG) 协议控制的。

<meta property="og:title" content="深入 HTML 核心指南">
<meta property="og:description" content="一篇涵盖所有 HTML 知识点的终极教程。">
<meta property="og:image" content="https://example.com/images/html-cover.png">
<meta property="og:url" content="https://example.com/blog/html-guide">
<meta property="og:type" content="article">
其他常见 SEO 元标签
标签示例功能
Robots<meta name="robots" content="index, follow">控制搜索引擎抓取和索引行为 (noindex, nofollow)。
Canonical<link rel="canonical" href="https://example.com/main-page">当多个 URL 内容相同时(如 page=1main-page),告诉搜索引擎“正式版”是哪一个,避免重复内容惩罚。
Keywords<meta name="keywords" content="HTML, Web, 教程">关键词。注意:现代主流 SEO (如 Google) 已基本忽略此标签,不再重要。

多媒体与嵌入元素

​ HTML是可以支持描述音视频资源的!

Audio 与 Video

HTML5 提供了原生的 <audio><video> 标签。

<audio controls src="music.mp3"></audio><video controls width="600" poster="thumbnail.jpg"><source src="movie.mp4" type="video/mp4"><source src="movie.webm" type="video/webm">
</video>
  • 常用属性
    • controls:显示浏览器默认的播放控制条。
    • autoplay:自动播放(注意:现代浏览器大多会限制,除非同时设置 muted)。
    • muted:静音播放。
    • loop:循环播放。
    • poster:在视频加载完成前显示的封面图像。
  • <source> 标签:为了兼容不同浏览器,可以提供多种格式的视频源。
图像 (<img>) 与优化

<img> 标签用于在页面上显示图像。

<img src="images/photo.jpg"  alt="一个男人在日落时分的沙滩上行走" loading="lazy">
  • src (Source)是图像的路径。
  • alt (Alternative Text):至关重要的属性! 当图像加载失败时,它会显示这段文字。更重要的是,屏幕阅读器会朗读 alt 文本,这是网页可访问性 (Accessibility) 的核心。

图像优化技巧:

  1. 使用合适的文件格式

    • JPG/JPEG:适合照片和色彩丰富的位图。
    • PNG:适合需要透明背景的图像(如 Logo、图标)。
    • SVG:矢量图。适合 Logo 和图标,可无限缩放而不失真。
    • WebP/AVIF:现代格式,提供极高的压缩比和质量,是目前的首选推荐。
  2. 响应式图像 (srcset):

    让浏览器根据屏幕宽度和分辨率加载不同大小的图片,节省带宽。

    <img srcset="small.jpg 480w, medium.jpg 800w, large.jpg 1024w"sizes="(max-width: 600px) 480px, 800px"src="medium.jpg"alt="描述">
    

    对了,我们还有这是一个原生的 HTML 属性:Lazy。它告诉浏览器“不要立即加载这张图片,等到它即将滚动到视口内时再加载”,可以极大提升页面初始加载速度。

<iframe> (嵌入外部内容)

<iframe> (Inline Frame) 元素会在你的页面中“挖”一个洞,在里面嵌入一个完全独立的外部网页、视频或地图。

<iframe width="560" height="315" src="https://www.youtube.com/embed/VIDEO_ID" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen>
</iframe>
  • <iframe> 是一个“替换元素 (Replaced Element)”,它的内容由外部资源决定。
  • 常见用途:嵌入 YouTube 视频、Google 地图、第三方小组件(如天气预报、在线表单)。

链接与路径 (Working with Links)

HTML 的“H”和“T”——“HyperText”(超文本)——的实现就是靠链接。

超链接 (<a>) 基本结构

<a>(Anchor) 标签用于创建超链接。

<a href="https://www.google.com" target="_blank" rel="noopener noreferrer">点此访问 Google
</a>
  • href (Hypertext Reference):链接的目标 URL。
  • target:定义在何处打开链接。
    • _self:(默认) 在当前窗口打开。
    • _blank:在新标签页中打开。
  • 安全提示:当使用 target="_blank" 时,请始终添加 rel="noopener noreferrer",以防止新打开的页面通过 window.opener API 控制你的原始页面,这是一种安全防护措施。
理解文件路径

href (链接)、src (图片/脚本) 中,正确使用路径至关重要。

路径类型示例说明
绝对路径https://example.com/images/pic.jpg包含完整协议和域名的 URL。
相对路径images/pic.jpg相对于当前 HTML 文件的位置。
根相对路径/images/pic.jpg(以 / 开头) 相对于网站的根目录

相对路径符号解释:

  • ./:当前目录 (例如 ./contact.html./ 通常可省略)。
  • ../:上一级目录 (例如 ../css/style.css,从当前目录返回上一层,再进入 css 目录)。
  • /:网站的根目录 (例如,无论你在哪个子页面,/index.html 始终指向网站首页)。
链接状态伪类 (CSS)

链接 (<a> 标签) 有四种特殊的状态,你可以在 CSS 中为它们分别设置样式,当然这个部分是笔者摘抄的,所以还没有试过,稍后CSS的学习笔者尝试一下。

  • a:link — 链接未被访问时的状态。
  • a:visited — 链接已被访问后的状态。
  • a:hover — 鼠标悬停在链接上时的状态。
  • a:active — 鼠标点击链接的瞬间(按住未松开)。
http://www.dtcms.com/a/523533.html

相关文章:

  • 《Linux系统编程之入门基础》【权限管理】
  • ELK(Elasticsearch + Logstash + Kibana + Filebeat)采集方案
  • 网站建设金手指排名霸屏主机类型wordpress
  • uniapp微信小程序简单表格展示
  • 【html】每日打卡页面
  • Server 15 ,VMware ESXi 实战指南:Ubuntu 20.04.6 版本虚拟机静态 IP 配置、分辨率固定及远程访问实践
  • 吴恩达深度学习课程一:神经网络和深度学习 第三周:浅层神经网络(三)
  • Copilot使用体验
  • uniapp video 加载完成后全屏播放
  • 从MongoDB到国产数据库:一场2TB电子证照系统的“平滑着陆”实践
  • 电子商务网站开发与建设试卷wordpress如何删除已安装主题
  • 内蒙古城乡建设网站免费详情页模板网站
  • Android EDLA开发认证说明和开发流程
  • DevExpress WPF中文教程:Data Grid - 如何使用虚拟源?(三)
  • UniApp缓存系统详解
  • 【LLM】用 FastAPI 搭建「OpenAI 兼容」DeepSeek-OCR 服务 + 简洁WebUI
  • 企业内部SRE/DevOps向精通Linux课程培训大纲
  • 《Effective Java》第13条:谨慎的覆盖clone
  • 第一章、React + TypeScript + Webpack项目构建
  • 前端:金丝雀部署(Canary Deployment)/ A、B部署 / 灰度部署
  • Spark微博舆情分析系统 情感分析 爬虫 Hadoop和Hive 贴吧数据 双平台 讲解视频 大数据 Hadoop ✅
  • 宁波公司网站建设价格dw建设手机网站
  • 长沙做网站价格有哪些网站可以做青旅义工
  • 怎么查看网站打开速度企业网站用vps还是虚拟主机
  • Vue3 模板引用——ref
  • XGBoost完整学习指南:从数据清洗到模型调参
  • 【深度学习新浪潮】AI Agent工具流产品:从原理到落地,打造智能协作新范式
  • 页面滚动加载更多
  • 除了provide和inject,Vue3还有哪些用于组件通信的方式?
  • React 表单与事件