做一个wiki页面是体验HTML语义的好方法
HTML语义:如何运用语义类标签来呈现Wiki网页
在上一篇文章中,我花了大量的篇幅和你解释了正确使用语义类标签的好处和一些场景。那么,哪些场景适合用到语义类标签呢,又如何运用语义类标签呢?
不知道你还记不记得在大学时代,你被导师逼着改毕业论文格式的情景,如果你回想一下,你在论文中使用的那些格式,你会发现其实它们都是可以用 HTML 里的语义标签来表示的。
这正是因为 HTML 最初的设计场景就是“超文本”,早期 HTML 工作组的专家都是出版界书籍排版的专家。
所以,在这一部分,我们找了个跟论文很像的案例:Wikipedia 文章,这种跟论文相似的网站比较适合用来学习语义类标签。通过分析一篇 Wiki 的文章用到的语义类标签,来进一步帮你理解语义的概念。
你可以在电脑上,打开这个页面:
https://en.wikipedia.org/wiki/World_Wide_Web
为了防止这个页面被修改,我们保存了一个副本:
World Wide Web - Wikipedia
这是一篇我们选择的 Wiki 文章,虽然在原本的 Wikipedia 网站中,也是大量使用了 div 和 span 来完成功能。在这里,我们来尝试分析一下,应该如何用语义类标签来呈现这样的一个页面 / 文章。
我们看一下这个页面。
aside
首先我们来看下,左侧侧边栏,根据上一篇文章中提到的语义定义,这里属于 aside 内容。是导航性质的工具内容。
article
我们来到文章主体部分,因为主体部分具有明确的独立性,所以可以用 article 来包裹。
hgroup, h1, h2
在语义的上一篇文章中,我们介绍过 hgroup 和 h1-h6 的作用,hgroup 是标题组,h1 是一级标题,h2 是二级标题。这里,World Wide Web 是文章的大标题,适合 h1 元素。
接下来出现了一个副标题。From Wikipedia, the free encyclopedia。这个地方适合使用 h2,跟 h1 组成一个 hgroup,所以代码可能是类似这样的:
<hgroup><h1>World Wide Web </h1><h2>From Wikipedia, the free encyclopedia</h2></hgroup>
hr
学会发现,在 Wiki 的界面中,出现了一条很长的横线,大家都知道 hr 标签表示横向分隔线,那么这个地方是不是应该用 hr 呢? 答案是不用。我们读一下标准的定义就知道了,hr 表示故事走向的转变或者话题的转变,显然此处两个标题并非这种关系,所以我们应该使用 CSS 的 border 来把它当作纯视觉效果来实现,所以这里是不需要用 hr 的。
p
接下来一段,我们看到了三段“note”,也就是注记。它在文章中用作额外注释。
“WWW” and “The Web” redirect here. For other uses of WWW, see WWW (disambiguation). For other uses of web, see Web (disambiguation). For the first web software, see WorldWideWeb. Not to be confused with the Internet.
HTML 中并没有 note 相关的语义,所以,我们用普通的 p 标签,加上class="note"来实现。后面的多数自然段都是普通的段落,我们用 p 标签来实现。
strong
注意,这里 “World Wide Web (WWW)” 和 “the Web” 使用了黑体呈现,从上下文来看,这里表示这个词很重要,所以我们使用 strong 标签。
<p> A global map of the web index for countries in 2014<strong>The World Wide Web (WWW)</strong>, also called <strong>the Web</strong>,
......
blockquote, q, cite
接下来我们看到了一个论文中很常见的用法“引述”。
interlinked by hypertext links, and accessible via the Internet.[1]
注意看这里的[1],当我们把鼠标放上去的时候,出现了引述的相关信息:
“What is the difference between the Web and the Internet?”. W3C Help and FAQ. W3C. 2009. Archived from the original on 9 July 2015. Retrieved 16 July 2015.
在 HTML 中,有三个跟引述相关的标签 blockquote 表示段落级引述内容,q 表示行内的引述内容,cite 表示引述的作品名。
这里的作品名称 “What is the difference between the Web and the Internet?”,应当使用 cite 标签。
<cite>"What is the difference between the Web and the Internet?"</cite>. W3C Help and FAQ. W3C. 2009. Archived from the original on 9 July 2015. Retrieved 16 July 2015.
在文章的结尾处,有对应的 References 一节,这一节中所有的作品名称也应该加入 cite 标签。
这里我们看看引用的原文就可以知道,Wiki 文章中的信息并非直接引用,如果是直接引用的内容,那么,我们还应该加上 blockquote 或者 q 标签。
此外,还有time、figure, figcaption、dfn、nav, ol, ul、pre, samp, code的解释,请移步:
开发者网站--做一个wiki页面是体验HTML语义的好方法
相关文章:
做一个wiki页面是体验HTML语义的好方法
HTML语义:如何运用语义类标签来呈现Wiki网页 在上一篇文章中,我花了大量的篇幅和你解释了正确使用语义类标签的好处和一些场景。那么,哪些场景适合用到语义类标签呢,又如何运用语义类标签呢? 不知道你还记不记得在大…...
金融CRM有用吗?金融行业CRM有哪些功能
市场形式波诡云谲,金融行业也面临着资源体系分散、竞争力后继不足、未知风险无法规避等问题。金融企业该如何解决这些问题,或许可以了解一下CRM管理系统,和其提供的金融行业CRM解决方案。 金融行业是银行业、保险业、信托业、证券业和租赁业…...
@XmlAccessorType+@XmlElement完美解决Java类到XML映射问题
前言: 最近项目在做静态代码扫描的时候,出现Java类中成员变量命名的问题,开头字母必须小写,但是这个类成员是对接其他公司的字段,对方提供的请求格式是XML,必须将Java类转化为XML的格式,而且这…...
软件渗透测试有哪些测试流程?权威安全测试报告的重要性
软件渗透测试也是安全测试的一种,是通过模拟恶意黑客的攻击方法,来评估计算机网络系统安全的一种评估方法。作为网络安全防范的一种新技术,对于网络安全组织具有实际应用价值。 一、软件渗透测试的过程 软件渗透测试的过程通常包括四个主…...
安防视频融合云平台/智慧监控平台EasyCVR如何添加验证码调用接口?
安防视频监控/视频集中存储/云存储/磁盘阵列EasyCVR平台可拓展性强、视频能力灵活、部署轻快,可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等,以及支持厂家私有协议与SDK接入,包括海康Ehome、海大宇等设备的SDK等。平台既具备传统安…...
浏览器输入一个url,它的解析过程
URL解析: 浏览器首先解析URL,提取其中的协议(例如,HTTP、HTTPS)、域名和路径等信息。这个过程被称为URL解析。 DNS解析: 浏览器会检查域名的IP地址是否已经缓存。如果没有缓存或者缓存已经过期,…...
第29节: Vue3 列表渲染
在UniApp中使用Vue3框架时,你可以使用列表渲染语法来动态地渲染一个列表。下面是一个示例,演示了如何在UniApp中使用Vue3框架使用列表渲染: <template> <view> <button click"addItem">Add Item</button&g…...
CloudPulse:一款针对AWS云环境的SSL证书搜索与分析引擎
关于CloudPulse CloudPulse是一款针对AWS云环境的SSL证书搜索与分析引擎,广大研究人员可以使用该工具简化并增强针对SSL证书数据的检索和分析过程。 在网络侦查阶段,我们往往需要收集与目标相关的信息,并为目标创建一个专用文档,…...
【网络安全】学习Web安全必须知道的一本书
【文末送书】今天推荐一本网络安全领域优质书籍。 目录 正文实战案例1:使用Docker搭建LAMP环境实战案例2:使用Docker搭建LAMP环境文末送书 正文 学习Web安全离不开Web,那么,需要先来学习网站的搭建。搭建网站是每一个Web安全学习…...
千帆 AppBuilder 初体验,不仅解决解决了我筛选简历的痛苦,更是让提效10倍!
文章目录 🌟 前言🌟 什么是百度智能云千帆 AppBuilder🌟 百度智能云千帆 AppBuilder 初体验🌟 利用千帆AppBuilder搭建简历小助手🌟 让人眼前一亮的神兵利器 - 超级助理 🌟 前言 前两天朋友 三掌柜 去北京…...
Ubuntu 常用命令之 cal 命令用法介绍
📑Linux/Ubuntu 常用命令归类整理 cal命令在Ubuntu系统下用于显示日历。它可以显示任何特定月份或整个年份的日历。 cal命令的参数如下 -1:只显示当前月份的日历。-3:显示前一个月、当前月和下一个月的日历。-s:指定日历的开始…...
项目中webpack优化配置(1)
项目中webpack优化配置 一. 开发效率, 体验 1. DLL(开发过程中减少构建时间和增加应用程序的性能) 使用 DllPlugin 进行分包,使用 DllReferencePlugin(索引链接) 对 manifest.json 引用,让一些基本不会改动的代码先…...
【Qt之Quick模块】5. QML基本类型及示例用法
QML格式 QML基本类型 在 QML 中,有以下基本类型: int:整数类型。 Rectangle {function myFunction() {// 输出 debug 信息console.log("11 " (11));}Component.onCompleted: {myFunction();} }结果: 2. real&…...
MySQL运维实战(1.2)安装部署:使用二进制安装部署
作者:俊达 引言 上一篇我们使用了RPM进行安装部署,这是一种安装快速、简化部署和管理过程、与操作系统提供的包管理工具紧密集成的部署方法。此外,当你需要更高的灵活性和自定义性,并且愿意承担一些额外的手动配置和管理工作&am…...
ChatGPT一周年:开源语言大模型的冲击
自2022年末发布后,ChatGPT给人工智能的研究和商业领域带来了巨大变革。通过有监督微调和人类反馈的强化学习,模型可以回答人类问题,并在广泛的任务范围内遵循指令。在获得这一成功之后,人们对LLM的兴趣不断增加,新的LL…...
C++ Qt开发:Charts绘图组件概述
Qt 是一个跨平台C图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍QCharts二维绘图组件的常用方法及灵活运用。 …...
基于Java+SpringBoot实现人脸识别搜索
基于JavaSpringBoot实现人脸识别搜索 引言 背景介绍 结合人脸识别技术,在工厂、学校、商场、餐厅等人流密集的场所进行监控,对人流进行自动统计、识别和追踪,同时标记存在安全隐患的行为及区域,并发出告警提醒,加强…...
【论文阅读】FreeU: Free Lunch in Diffusion U-Net
FreeU: 无需训练直接提升扩散模型生成效果。 paper:https://arxiv.org/abs/2309.11497 code:GitHub - ChenyangSi/FreeU: FreeU: Free Lunch in Diffusion U-Net 1. 介绍 贡献: •研究并揭示了U-Net架构在扩散模型中去噪的潜力࿰…...
TypeScript实战——ChatGPT前端自适应手机端,PC端
前言 「作者主页」:雪碧有白泡泡 「个人网站」:雪碧的个人网站 可以在线体验哦:体验地址 文章目录 前言引言先看效果PC端手机端 实现原理解释 包的架构目录 引言 ChatGPT是由OpenAI开发的一种基于语言模型的对话系统。它是GPT(…...
自定义ORM(mybatis)源码(六)-类型处理器
自定义ORM(mybatis)源码(六)-类型处理器 模仿mybatis 用于处理 sql 设置参数类型和 执行 sql 后响应字段的类型处理 TypeHandler public interface TypeHandler<T> {/*** sql 设置参数值* param pstmt* param i* param value* throws SQLException*/void setParamete…...
Linux shell编程学习笔记37:readarray命令和mapfile命令
目录 0 前言1 readarray命令的格式和功能 1.1 命令格式1.2 命令功能1.3 注意事项2 命令应用实例 2.1 从标准输入读取数据时不指定数组名,则数据会保存到MAPFILE数组中2.2 从标准输入读取数据并存储到指定的数组2.3 使用 -O 选项指定起始下标2.4 用-n指定有效行数…...
GDB:强大的GNU调试器
GDB,全称为GNU Debugger,是一款广泛使用的源代码级调试工具。它支持多种编程语言,包括C、C、Fortran、Objective-C、Python、Ada和Go等。GDB能够帮助开发者在开发过程中定位和修复程序中的错误,通过设置断点、查看变量值、单步执行…...
综述 2022-Egyptian Informatics Journal:电子健康记录的安全和隐私
Keshta, Ismail, and Ammar Odeh. "Security and privacy of electronic health records: Concerns and challenges." Egyptian Informatics Journal 22.2 (2021): 177-183. https://doi.org/10.1016/j.eij.2020.07.003 被引次数:207 IF 5.2 / JCR Q2...
PHP数组定义和输出
数组就是一组数据的集合,把一系列数据组织起来,形成一个可操作的整体。 PHP中的数组与Java的数组不一样,需要有key(键)和value(值),相当于Java中数组和键值对的结合。 数组的定义 …...
MySQL中已经有了Binlog,为啥还要有Redo Log
参考文章 MySQL中的Binlog和Redo Log虽然都与事务的持久性和可恢复性有关,但它们服务于不同的目的和场景,并且在MySQL的架构中扮演着互补的角色。 Redo Log: 目的:Redo Log 主要用于保证InnoDB存储引擎的事务持久性。它确保在系…...
Java数据结构-模拟ArrayList集合思想,手写底层源码(1),底层数据结构是数组,编写add添加方法,正序打印和倒叙打印
package com.atguigu.structure; public class Demo02_arrayList {public static void main(String[] args) {MyGenericArrayListV1 arrayListV1 new MyGenericArrayListV1();//arr.add(element:100,index:1);下标越界,无法插入//初始化(第一次添加&…...
MyBatis-Plus如何 关闭SQL日志打印
前段时间公司的同事都过来问我,hua哥公司的项目出问题了,关闭不了打印sql日记,项目用宝塔自己部署的,磁盘满了才发现大量的打印sql日记,他们百度过都按照网上的配置修改过不起作用,而且在调试时候也及为不方…...
单元测试框架jUnit
JUnit(Java单元测试框架)是用于在Java应用程序中执行单元测试的框架。它是一个开源框架,广泛用于Java开发中。以下是一些关于JUnit的常见问题以及相应的汉语回答: 1. **什么是JUnit?** - JUnit是一个用于编写和运行…...
微软 Visual Studio 迎来 AI 建议命名功能
目录 1微软 Visual Studio 迎来 AI 建议命名功能 2专访核桃编程CEO曾鹏轩:实操是掌握编程技能的唯一办法 1微软 Visual Studio 迎来 AI 建议命名功能 IT之家 12 月 19 日消息,使用付费 GitHub Copilot Chat 扩展的 Visual Studio Preview 用户…...
【排序算法】C语言实现选择排序与冒泡排序
文章目录 🚀前言🚀冒泡排序✈️冒泡排序的逻辑✈️冒泡排序coding 🚀选择排序✈️选择排序的逻辑✈️选择排序coding 🚀前言 这里是阿辉算法与数据结构专栏的第一篇文章,咱们就从排序算法开始讲起,排序算法…...
首钢建设二建设公司网站/百度拍照搜索
指导学生参加计算机技能大赛实践总结及思索指导学生参加计算机技能大赛实践总结及思索摘要:通过参加两届“全国高职高专院校计算机综合应用能力大赛”现实经历,深感大赛对对提高学生计算机应用能力,推动计算机基础课程教学改革的强大作用。赛…...
长沙市做网站/百度竞价推广一个月多少钱
今天在写线性表的链式存储过程中,遇到了一个比较奇葩的问题,就是同一段程序,用for循环可以顺利执行,然而用while循环就提醒我“结点空间申请失败!!!”,考虑了一上午都没有头绪。记录…...
专业做财经直播网站有哪些/百度小说排行榜2019
微信小程序不支持 html 标签,可以使用插件让小程序自动解析 html 标签并且正常显示.推荐组件 wxParse ,github 地址 https://github.com/icindy/wxParse/ 使用浅析: 1. 下载组件 2. 复制 wxParse 文件夹到项目中 3. 在需要解析 html 标签的页面 wxml 引入 wxParse.wxml ,并引…...
个人备案 可以做企业网站吗/新闻发布的网站
影任有料,总有一款是你想要影任J作为一个不资深且跑路的程序猿,今天要跟大家讲的算是一个行业小技巧,请各位搬好小板凳仔细听吧!F12作为一个多功能按键,在职场有着特殊的运用,比如说扒图、改网页上的内容、…...
一个空间两个wordpress/月嫂免费政府培训中心
栈: 只有一个端口进入,元素先进后出FILO。 而栈内存正是使用了这种结构管理内存,所以才叫栈内存。 基于这个,我们通过链表的形式来实现栈的一系列操作,如入栈、出栈、获取栈顶元素等。 //节点结构体定义 typed…...
原创wordpress主题/太原最新情况
games101_光线追踪4上节内容Monte Carlo Integration(蒙特卡洛积分)采样举例Path Tracing(路径追踪)Whitted-Style光线追踪产生的错误问题一:The Utah Teapot问题二:The Cornell BoxWhitted-Style光线追踪是错误的蒙特卡洛方法对于一个采样点的解决方法问…...