首页 > 其他分享 >做一个wiki页面是体验HTML语义的好方法

做一个wiki页面是体验HTML语义的好方法

时间:2023-12-19 09:56:18浏览次数:25  
标签:wiki Web 标签 语义 HTML 文章 World 页面

HTML语义:如何运用语义类标签来呈现Wiki网页

在上一篇文章中,我花了大量的篇幅和你解释了正确使用语义类标签的好处和一些场景。那么,哪些场景适合用到语义类标签呢,又如何运用语义类标签呢?

不知道你还记不记得在大学时代,你被导师逼着改毕业论文格式的情景,如果你回想一下,你在论文中使用的那些格式,你会发现其实它们都是可以用 HTML 里的语义标签来表示的。

这正是因为 HTML 最初的设计场景就是“超文本”,早期 HTML 工作组的专家都是出版界书籍排版的专家。

所以,在这一部分,我们找了个跟论文很像的案例:Wikipedia 文章,这种跟论文相似的网站比较适合用来学习语义类标签。通过分析一篇 Wiki 的文章用到的语义类标签,来进一步帮你理解语义的概念。

你可以在电脑上,打开这个页面:

https://en.wikipedia.org/wiki/World_Wide_Web

为了防止这个页面被修改,我们保存了一个副本:

http://static001.geekbang.org/static/time/quote/World_Wide_Web-Wikipedia.html

这是一篇我们选择的 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,Web,标签,语义,HTML,文章,World,页面
From: https://www.cnblogs.com/cybozu/p/17912926.html

相关文章

  • 第二章:SpringMVC的配置文件(web.xml)及访问页面
    一、开发环境二、创建maven工程三、默认方式配置web.xml四、扩展方式配置web.xml五、创建控制器六、配置springMVC配置文件七、访问首页八、访问指定页面九、总结......
  • 35道HTML高频题整理(附答案背诵版)
    1、简述HTML5新特性?HTML5是HTML的最新版本,它引入了很多新的特性和元素,以提供更丰富的网页内容和更好的用户体验。以下是一些主要的新特性:语义元素:HTML5引入了新的语义元素,像<article>,<section>,<nav>,<header>,<footer>,<aside>等。这些元素可以帮助更好地描述......
  • js获取当前页面网址
    在JavaScript中,可以使用window.location对象来获取当前页面的网址。以下是几种不同的实现方法:方法一:使用window.location.href varurl=window.location.href;console.log(url);结果:http://localhost/gridsys/Product/PlantQR?puid=8方法二:使用window.location.toStrin......
  • 【前端】做一个展示卡片样式数据的页面,解决卡片中图片高度不一致问题
    需求分析现在有这样一个需求,在一个页面展示数据,页面的数据通过卡片的形式展示,卡片中内容主要分为三部分,最上面个标题,中间是个图片,最下面是一排操作按钮。这里的卡片可以保证固定的宽高比例卡片可以随着窗口大小的变化做到自适应大小变化实际图片的高度和宽度不一致,显示的的时候可以......
  • HTML表格基础
    HTML表格基础一、表格相关标签<table></table>:表格相关的内容都需要包含在该标签内。<tr></tr> :tablerow的缩写,创建一行。<td></td>:tabledata的缩写,创建一行中的一列。<th></th>:tablehead的缩写,类似<td></td>,创建一行中的一列,用于表头的标题内容。<cap......
  • 使用Servlet进行页面跳转的两种方式
    最近在教学生学习JavaWeb相关的技术,刚好讲到Java当中的Servlet,一个服务端的小程序。也在和学生讲使用Servlet如何进行页面跳转,一种方式是使用请求转发进行页面跳转,一种方式是使用响应重定向。下面就来分别聊一聊这两种页面跳转方式。 首先有一个知识点需要注意,如果页......
  • 使用JS脚本修改页面内容
    在学习RPA时,我对使用JS脚本修改页面内容进行了深入学习。记录如下:获取元素的方法:1.document.getElementById("xxx")2.document.getElementsByClassName("xxx")3.document.getElementsByTagName("xxx")4.document.getElementsByName("xxx")5.document.querySele......
  • Python——Html(表格)
    <table>,<tr>,和<td>是HTML中用于创建表格的标签。<table>元素:<table>元素用于定义HTML表格。表格是由行和列组成的二维数据结构。<table><!--表格内容将在这里添加--></table><tr>元素:<tr>元素用于定义表格中的行(tablerow)。行包......
  • 2023最新高级难度HTML面试题,包含答案。刷题必备!记录一下。
    好记性不如烂笔头内容来自面试宝典-高级难度HTML面试题合集问:请深入解释HTML5的设计理念和它相比于之前版本的重要改进。HTML5的设计理念主要围绕以下几个方面:更强的可扩展性:HTML5引入了大量的新元素和属性,增强了文档结构和语义化能力,使得开发者能够更加方便地编写和维......
  • HTML5文件操作+上传+文件拖拽(案例)
    js有两种机制:事件机制、io机制文件操作对象:Blob通过二进制原始数据读取file读取单个文件对象fileList读取多个文件对象fileReader读取文件信息file和fileList的属性方法1、name名称2、size文件字节长度3、type文件类型4、lastModified最后修改日期获取单个文件:<......