30分钟学会HTML

HTML 基本语法

HTML(HyperText Markup Language)是构成网页内容的基础。它使用一系列的标签来描述网页的结构,包括文本、图片、链接等元素。浏览器会解析这些标签并渲染成我们看到的网页。

在线体验一下 CodePen (在线 HTML 编辑器)。

千万不要被「超文本」、「标记语言」吓到,HTML 的语法非常直观,常用的标签结构并不复杂,用于构建基础网页已经足够,稍微了解一下就能上手。

就是这些基本的标签结构,却能让人优雅地组织你的网页内容,专注于信息的呈现而不是纠结于如何显示,达到“心中有页,落笔成型”的境界。

HTML 文档结构

每个 HTML 文档都需要一个基本的结构,声明文档类型,并包含 <html><head><body> 等核心标签。

HTML 语法作用示例
<!DOCTYPE html>声明文档类型为 HTML5
<html></html>HTML 文档的根元素
<head></head>包含文档的元数据,如标题、字符编码等
<title></title>定义文档的标题,显示在浏览器标签上<title>我的网页标题</title>
<meta charset="UTF-8">定义字符编码为 UTF-8,支持多种字符集
<body></body>包含网页可见内容的主体部分
<h1></h1><h6></h6>定义不同级别的标题<h1>主标题</h1>, <h2>副标题</h2>
<p></p>定义段落<p>这是一个段落。</p>

可选语法 (实际上是不同的 HTML 版本和doctype)

虽然 <!DOCTYPE html> 是 HTML5 的标准声明,但以前的 HTML 版本有不同的doctype声明方式。现在推荐使用 HTML5 的简洁声明。

最佳实践

一个标准的 HTML 文档应该以 <!DOCTYPE html> 开头,并包含 <html><head><body> 标签,确保语义清晰和结构完整。

✅ Do this❌ Don't do this
使用 <!DOCTYPE html> 声明 HTML5忘记添加 <!DOCTYPE html> 声明
包含 <head><body> 标签缺少 <head><body> 标签

HTML 标题

HTML 提供了六级标题标签 <h1><h6>,用于表示不同级别的标题内容。

HTML 语法作用预览效果 (描述性)
<h1>一级标题</h1>定义一级标题页面中最主要的标题
<h2>二级标题</h2>定义二级标题次要的标题
<h3>三级标题</h3>定义三级标题更细分的标题
<h4>四级标题</h4>定义四级标题
<h5>五级标题</h5>定义五级标题
<h6>六级标题</h6>定义六级标题

可选语法 (无直接对应,但强调语义化)

虽然可以使用 CSS 来改变标题的显示样式,但应该根据内容的逻辑结构来选择合适的标题标签,而不是仅仅为了改变字体大小而随意使用。

最佳实践

按照内容的逻辑重要性使用标题标签,<h1> 用于最重要的标题,依次递减。

✅ Do this❌ Don't do this
使用 <h1> 作为页面主标题为了加大字体而使用 <h1>,忽略语义化
按照标题层级嵌套使用 (h2h1 下)跳跃使用标题标签 (例如 h1 后直接使用 h4)

HTML 段落

<p> 标签用于定义段落,将文本内容组织成独立的段落块。

HTML 语法作用预览效果 (描述性)
<p>这是一个段落。</p>定义一个段落文本会分段显示
<p>这是第一个句子。<br>这是第二个句子。</p>使用 <br> 换行在段落内换行显示

段落(Paragraph)用法的最佳实践

使用 <p> 标签包裹文本内容,以清晰地划分段落。使用 <br> 标签在段落内进行换行。

✅ Do this❌ Don't do this
使用 <p> 标签组织文本内容依赖换行符或空格来分隔段落
在需要换行的地方使用 <br>为了视觉效果而滥用 <br> 标签

HTML 文本格式化

HTML 提供多种标签用于格式化文本,例如加粗、斜体等。

HTML 语法作用预览效果 (描述性)
<b>加粗文本</b>定义粗体文本文本显示为粗体
<strong>重要文本</strong>定义重要文本文本显示为粗体 (强调语义)
<i>斜体文本</i>定义斜体文本文本显示为斜体
<em>强调文本</em>定义强调文本文本显示为斜体 (强调语义)
<small>小号文本</small>定义小号文本文本显示为较小字号
<mark>标记文本</mark>定义标记文本文本背景高亮显示
<del>删除文本</del>定义删除文本文本带有删除线
<ins>插入文本</ins>定义插入文本文本带有下划线
<sub>下标文本</sub>定义下标文本文本显示为下标
<sup>上标文本</sup>定义上标文本文本显示为上标

文本格式化(Text Formatting)用法的最佳实践

根据语义选择合适的文本格式化标签。<strong><em> 更侧重于语义强调,而 <b><i> 则更多是视觉呈现。

✅ Do this❌ Don't do this
使用 <strong> 标记重要的关键词或句子仅为了加粗而使用 <b>,忽略语义化
使用 <em> 强调需要突出显示的文本使用 <i> 代替 <em> 进行强调

HTML 列表

HTML 提供了有序列表、无序列表和描述列表三种类型的列表。

HTML 语法作用预览效果 (描述性)
<ul><li>项目 1</li><li>项目 2</li></ul>定义无序列表生成带有项目符号的列表
<ol><li>项目 A</li><li>项目 B</li></ol>定义有序列表生成带有数字编号的列表
<dl><dt>术语</dt><dd>描述</dd></dl>定义描述列表生成带有术语和描述的列表
<li></li>定义列表项包含在 <ul><ol>
<dt></dt>定义描述列表中的术语包含在 <dl>
<dd></dd>定义描述列表中术语的描述包含在 <dl>

列表(List)用法的最佳实践

根据信息的组织方式选择合适的列表类型。使用嵌套列表可以清晰地表示层级关系。

✅ Do this❌ Don't do this
使用 <ul> 创建无需特定顺序的项目列表使用段落和 <br> 标签模拟列表
使用 <ol> 创建需要排序的项目列表混淆无序列表和有序列表的使用场景
使用 <dl> 创建术语及其解释的列表在无序或有序列表中尝试模拟描述列表的效果

HTML 链接

<a> 标签用于创建超链接,将用户导向其他网页、文件或同一页面的不同位置。

HTML 语法作用预览效果 (描述性)
<a href="URL">链接文本</a>创建指向 URL 的链接"链接文本"显示为可点击的链接,跳转到 URL
<a href="URL" target="_blank">链接文本</a>在新标签页打开链接点击链接将在新的浏览器标签页中打开
<a href="mailto:邮箱地址">发送邮件</a>创建邮件链接点击链接将打开用户的邮件客户端并填写收件人
<a href="#section">跳转到Section</a>创建内部链接点击链接将滚动到页面中 ID 为 "section" 的元素

链接(Link)用法的最佳实践

为链接添加清晰的链接文本,并根据需要使用 target 属性来控制链接的打开方式。

✅ Do this❌ Don't do this
使用描述性的链接文本 (例如 "了解更多")使用 "点击这里" 等模糊的链接文本
外部链接使用 target="_blank" 在新标签页打开所有链接都强制在新标签页打开,影响用户体验

HTML 图片

<img> 标签用于在网页中嵌入图片。

HTML 语法作用预览效果 (描述性)
<img src="图片URL" alt="图片描述">插入图片在指定位置显示图片
<img src="图片URL" alt="图片描述" width="宽度" height="高度">指定图片尺寸按照指定的宽度和高度显示图片

图片(Image)用法的最佳实践

<img> 标签提供 src 属性指定图片路径,并使用 alt 属性提供图片描述,这对于可访问性和 SEO 非常重要。

✅ Do this❌ Don't do this
为所有 <img> 标签添加 alt 属性忽略 alt 属性,影响可访问性
使用有意义的 alt 文本描述图片内容使用 "图片" 或空 alt 属性
尽量优化图片大小,提高网页加载速度插入过大的图片,导致网页加载缓慢

HTML 代码

HTML 提供了 <code><pre> 标签用于在网页中显示代码。

HTML 语法作用预览效果 (描述性)
<code>行内代码</code>表示行内代码代码以等宽字体显示在文本中
<pre>多行代码</pre>表示预格式化的文本代码块以原始格式显示,保留空格和换行符
<pre><code>带语法的代码</code></pre>显示带语法的代码通常与 JavaScript 库一起使用以进行语法高亮

代码(Code)用法的最佳实践

使用 <code> 标签包裹行内代码,使用 <pre> 标签包裹多行代码块。结合 JavaScript 库可以实现代码语法高亮。

✅ Do this❌ Don't do this
使用 <code> 标签标记行内代码直接在文本中输入代码,导致格式不易区分
使用 <pre> 标签显示多行代码手动使用空格和换行符来模拟代码显示
考虑使用代码高亮库提升代码的可读性在技术文档中直接粘贴未格式化的代码

HTML 语义化标签

HTML5 引入了一些语义化标签,用于更清晰地描述文档的结构和内容,提高可访问性和 SEO。

HTML 语法作用示例
<article></article>表示文档、页面或应用程序中独立的、完整的、可以独立分发或复用的内容一篇博客文章、一篇新闻报道
<aside></aside>表示与周围内容相关但不属于主要内容的辅助信息侧边栏、广告、相关链接
<details></details>表示用户可以展开或收起的内容摘要常见问题解答、产品详情
<figcaption></figcaption>表示 <figure> 元素的标题图片的描述或标题
<figure></figure>表示独立的流内容(图像、图表等),通常带有标题一张图片及其标题
<footer></footer>表示文档或节的页脚版权信息、联系方式
<header></header>表示文档或节的头部网站 Logo、导航菜单
<main></main>表示文档的主要内容网页的主要信息区域
<nav></nav>表示页面的导航链接网站的导航栏
<section></section>表示文档中的一个 тематический 分组内容章节、主题分组
<summary></summary><details> 元素定义一个可见的标题常见问题解答的标题
<time></time>表示日期或时间发布日期、活动时间

语义化标签(Semantic Tags)用法的最佳实践

使用语义化标签来组织 HTML 结构,提高代码的可读性和可维护性,并提升网页的可访问性。

✅ Do this❌ Don't do this
使用 <article> 包裹独立的文章内容使用 <div> 替代所有语义化标签
使用 <nav> 包裹导航链接使用无序列表 <ul> 模拟导航,缺少语义信息
使用 <footer> 标记页脚信息将所有内容都放在 <body> 中,缺乏结构

HTML 元素和属性

HTML 文档由一系列嵌套的元素组成。元素由开始标签、内容和结束标签构成。标签可以拥有属性,提供关于元素的额外信息。

HTML 语法作用示例
<标签名>内容</标签名>定义一个 HTML 元素<p>这是一个段落。</p>
<标签名 属性名="属性值">内容</标签名>带有属性的 HTML 元素<a href="https://example.com">链接</a>
class="类名"定义元素的类名 (用于 CSS 样式)<div class="container"></div>
id="唯一ID"定义元素的唯一 ID (用于 CSS 和 JavaScript)<div id="header"></div>
style="CSS 样式"定义元素的内联样式<p style="color: red;">红色文本</p>

元素和属性(Elements and Attributes)用法的最佳实践

合理使用 HTML 元素和属性来描述网页内容。避免过度使用内联样式,推荐使用外部 CSS 文件来管理样式。

✅ Do this❌ Don't do this
使用合适的 HTML 元素来表达内容语义为了样式效果而滥用 <div><span>
使用 class 属性为元素添加类名,方便 CSS 管理大量使用 id 选择器,提高 CSS 优先级,不易维护
尽量避免使用内联样式,保持 HTML 结构的清晰将所有样式都写在 style 属性中,导致 HTML 臃肿

就是这些基本的标签结构,却能让人优雅地组织你的网页内容,专注于信息的呈现而不是纠结于如何显示,达到“心中有页,落笔成型”的境界。


好的,这次的内容就到这里啦

感谢你的阅读,欢迎点赞、关注、转发

我们,下次再见!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/503677.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

gateway的路径匹配介绍

gateway是一个单独服务。通过网关端口和predicates进行匹配服务 1先看配置。看我注解你就明白了。其实就是/order/**配置机制直接匹配到orderservice服务。 2我试着请求一个路径&#xff0c;请求成功。下面第三步是请求的接口。 3接口。

嵌入式中QT实现文本与线程控制方法

第一:利用QT进行文件读写实现 利用QT进行读写文本的时候进行读写,读取MP3歌词的文本,对这个文件进行读写操作。 实例代码,利用Qfile,对文件进行读写。 //读取对应文件文件,头文件的实现。 #ifndef MAINWINDOW_H #define MAINWINDOW_H#include <QMainWindow> #incl…

书籍推荐:Kubernetes 修炼手册

这本书是 2020 年出版的&#xff0c;比较新&#xff0c;从 0 到 1 介绍了 k8s 中的相关技术和概念&#xff0c;翻译质量也可以&#xff0c;适合作为初学 k8s 的课外书。 书中比较关键的就是中间那几个章节&#xff0c;基本掌握 k8s 中 Pod、svc、StatefulSet、ConfigMap、Volum…

计算机网络 (29)网络地址转换NAT

前言 网络地址转换&#xff08;Network Address Translation&#xff0c;NAT&#xff09;是计算机网络中的一种重要协议&#xff0c;它主要用于将私有IP地址转换为公共IP地址&#xff0c;以实现内部网络与外部网络之间的通信。 一、基本概念 NAT是一种在局域网&#xff08;LAN&…

三极管工作状态分析

NPN三极管 下面是NPN三极管&#xff08;也称N管&#xff09;的标识和内部结构图&#xff1a; NPN三极管由两个PN结构成&#xff0c;靠近C&#xff08;集电极&#xff09;一侧的PN结称为集电结&#xff1b;靠近E&#xff08;发射极&#xff09;一侧的PN结称为发射结&#xff1…

基于RedHat9部署WordPress+WooCommerce架设购物网站

系统版本信息&#xff1a;Red Hat Enterprise Linux release 9.2 (Plow) WordPress版本信息&#xff1a;wordpress-6.6.2-zh_CN WooCommerce版本信息&#xff1a;woocommerce.9.5.1 环境架构&#xff1a;LNMP&#xff08;RedHat9nginx1.20.1PHP 8.0.27MySQL8.0.30&#xff09; …

【雷达】雷达的分类

文章目录 前言类别性质主要雷达分系统及其现代技术发展国外发展 前言 前言 类别 性质 按作用分类 军用雷达&#xff1a;&#xff08;按载体&#xff09;地面雷达、舰载雷达、机载雷达、星载雷达、 艇载雷达、弹载雷达 民用雷达&#xff1a;交通管制雷达、港口管制雷达、气象雷…

基于RK3568/RK3588大车360度环视影像主动安全行车辅助系统解决方案,支持ADAS/DMS

产品设计初衷 HS-P2-2D是一款针对大车盲区开发的360度全景影像 安全行车辅助系统&#xff0c;通过车身四周安装的超广角像机&#xff0c;经算法合成全景鸟瞰图&#xff0c;通过鸟瞰图&#xff0c;司机非常清楚的看清楚车辆四周情况&#xff0c;大大降低盲区引发的交通事故。 产…

微信小程序之历史上的今天

微信小程序之历史上的今天 需求描述 今天我们再来做一个小程序&#xff0c;主要是搜索历史上的今天发生了哪些大事&#xff0c;结果如下 当天的历史事件或者根据事件选择的历史事件的列表&#xff1a; 点击某个详细的历史事件以后看到详细信息&#xff1a; API申请和小程序…

PyCharm简单调试

本文简单讲述一下PyCharm中经常用到的调试操作。 示例代码如下&#xff1a; for i in range(10):print("hello", i)if i > 2:print("ok!")在代码前面打上断点&#xff0c;如下图所示&#xff1a; 单机调试按钮Debug 单机Resume Program按钮&#xf…

域名注册网国际域名与国内域名的区别

在当今互联网时代&#xff0c;域名注册是每个企业和个人建立在线存在的重要步骤。国际域名与国内域名之间存在一些显著的区别&#xff0c;这些区别影响着用户的选择和使用。 首先&#xff0c;国际域名通常以“.com”、“.net”、“.org”等后缀结尾&#xff0c;这些后缀具有全球…

Python 爬虫验证码识别

在我们进行爬虫的过程中&#xff0c;经常会碰到有些网站会时不时弹出来验证码识别。我们该如何解决呢&#xff1f;这里分享 2 种我尝试过的方法。 0.验证码示例 1.OpenCV pytesseract 使用 Python 中的 OpenCV 库进行图像预处理&#xff08;边缘保留滤波、灰度化、二值化、…

【Unity笔记】资源包导入后是洋红色(粉色)怎么办?

1.导入后发现是这样的 2.这个问题是渲染管道不匹配引起的。 导入的素材用的是 「通用渲染管线 Universal Render Pipeline, URP」&#xff0c;而项目里默认配置的是「内置渲染管线」&#xff0c;如图&#xff1a; 【知识补充】什么是渲染管线&#xff1f;&#xff1f;&#x…

Vue2移动端(H5项目)项目封装switch组件支持动态设置开启关闭背景色、值及组件内显示文字描述、禁用、switch 的宽度

前言 近期产品需求&#xff1a;Vue2移动端项目需要在switch开关内显示文字&#xff0c;看Vantui没有对应功能&#xff0c;因此自己手撸写了这个组件。 一、最终效果 二、参数配置 1、代码示例&#xff1a; <t-switch v-model"check"/>2、配置参数&#xff08;…

Spring Boot教程之五十一:Spring Boot – CrudRepository 示例

Spring Boot – CrudRepository 示例 Spring Boot 建立在 Spring 之上&#xff0c;包含 Spring 的所有功能。由于其快速的生产就绪环境&#xff0c;使开发人员能够直接专注于逻辑&#xff0c;而不必费力配置和设置&#xff0c;因此如今它正成为开发人员的最爱。Spring Boot 是…

概率论与数理统计--期末

概率论占比更多&#xff0c;三分之二左右 数理统计会少一些 事件之间的概率 ab互斥&#xff0c;不是ab独立 古典概型吃高中基础&#xff0c;考的不会很多 条件概率公式&#xff0c;要记 公式不要全记&#xff0c;很多有名称的公式是通过基础公式转换而来的 目的在于解决一…

大数据高级ACP学习笔记(2)

钻取&#xff1a;变换维度的层次&#xff0c;改变粒度的大小 星型模型 雪花模型 MaxCompute DataHub

标准IO

student.c用链表完成 #include <stdio.h> #include <string.h> #include <stdlib.h> typedef struct student {char name[10];int chinese;int math;int English;int physics;int chemistry;int biology; }stu,*stuptr; typedef struct node {union{stu dat…

Ollama + FastGPT搭建本地私有企业级AI知识库 (Linux)

一、为何搭建本地企业级AI知识库&#xff1f; 首先我们分析下搭建本地企业级AI知识库的核心要点&#xff1a; 1.数据安全性&#xff1a;本地部署可以更好地保护企业敏感数据&#xff0c;避免数据泄露的风险。 2.定制化&#xff1a;根据企业特定需求进行定制&#xff0c;提供更…

基于SMT32U575RIT单片机-中断练习

练习要求&#xff1a; 1、通过扩展板按键key1&#xff0c;开/关元器件&#xff1b; 2、通过串口选择模式&#xff08;通过中断实现&#xff09;&#xff1a; LED&#xff1a; 切换只控制LED&#xff1b; FAN&#xff1a; 切换只控制FAN&#xff1b; BEE&#xff1a; 切换只控制…