3.html5的文本元素

  如果你看了第一篇的内容,你会发现我的代码是这样的:

文本
<span>文本</span>
<scolia>文本</scolia>
<scolia abcd=123>文本</scolia>

  但显示的效果却是这样的:

3.html5的文本元素

  很奇怪,明明我的代码是分了4行来写的,但为什么在浏览器显示的时候却都在一行以内,而且它们之间都有一个空格的距离?

  因为,浏览器对于换行的解释并不是依靠我们写代码时的排版,而是根据特定的标签,例如专用的换行标签<br/>,或者是隐含换行的分组元素<div><div/>等。

  而我们的代码中,并没有使用到这些带有换行功能的元素。而其中的span元素,就是属于文本元素。

  所谓文本元素,就是将一段文本设置成相匹配的结构和含义。下面列出了一个参考表格:

元素名称 说明
a 生成超链接
br 强制换行
wbr 可安全换行
b 标记一段文字但不强调
strong 表示重要
i 表示外文或科学术语
em 表示强调
code 表示计算机代码
var 表示程序输出
samp 表示变量
kdb 表示用户输入
abbr 表示缩写
cite 表示其他作品的标题
del 表示被删除的文字
s 表示文字已不再确认
dfn 表示术语定义
mark 表示与另一段上下文有关的内容
q 表示引自他处的内容
rq 与 ruby 元素结合使用,标记括号
rt 与 ruby 元素结合使用,标记括号
ruby 表示位于表意文字上方或右方的注音符号
bdo 控制文字的方向
small 表示小号字体内容
sub 表示下标字体
sup 表示上标字体
time 表示时间或日期
u 标记一段文字但不强调
span 通用元素,没有任何语义。一般配合 CSS 修饰

  从上面这张表格中,我们发现文本元素还是非常多的。但实际上,在现实应用中,真正 常用的也就是那么几个,绝大部分是针对英文的。


文本元素解析

  1.<b>表示关键字和产品名称

<b>HTML5</b> 

  解释:<b>元素实际作用就是加粗。从语义上来看,就是标记一段文字,但并不是特别 强调或重要性。比如:一段文本中的某些关键字或者产品的名称。

  2.<strong>表示重要的文字

<strong>HTML5</strong> 

  解释:<strong>元素实际作用和<b>一样,就是加粗。从语义上来看,就是强调一段重要的文本。

  总结:为什么实现的效果一样,却分开了两个元素呢?这不是多余吗?其实,这就是html5的特色,html5强调的是语义化标签,这里的语义化,是对人而言的,目的是为了让人知道标签里文本放的是什么内容。而对于浏览器来说,其实完全可以使用通用元素<span>加上css样式来实现各种效果,只要一个元素就够了。但是这样代码的可读性就会很低了。当然,其实并没有强迫什么内容一定要放在特定的标签里面,具体的使用习惯还是依照个人而言。


  3.<br>强制换行、<wbr>安全换行

<br>    //个人认为写成<br/>这种自闭合标签更符合规范,但不这样写也可以
Thisabc<wbr>dkedkslakdj<wbr>fkdlsakd is apple.

  解释:在任意文本位置键入<br>都会被换行,而在英文单词过长时使用<wbr>会根据浏览器的宽度适当的裁切换行。


  4.<i>表示外文词汇或科技术语

<i>HTML5</i>

  解释:<i>元素实际作用就是倾斜。从语义上来看,表示区分周围内容,并不是特别强调或重要性。

  5.<em>加以强调

<em>HTML5</em>

  解释:<em>元素实际作用和<i>一样,就是倾斜;从语义上来看,表示对一段文本的强调。

  不同的元素实现相同的效果,上面就已经解释过为什么了,下面也就不再解释了


  6.<s>表示不准确或校正

<s>HTML5</s>

  解释:<s>元素实际作用就是删除线;从语义上来看,表示不准确的删除。

  7.<del>表示删除文字

<del>HTML5</del> 

  解释:<del>元素实际作用和<s>一样,就是删除线;从语义上来看,表示删除相关文字。


  8.<u>表示给文字加上下划线

<u>HTML5</u> 

  解释:<u>元素实际作用就是加一条下划线;从语义上来看,并不强调此段文本。

  9.<ins>添加一段文本

<ins>HTML5</ins> 

  解释:<ins>元素实际作用和<u>一样,加一条下划线;从语义上来看,是添加一段文本,起到强调的作用。


  10.<small>添加小号字体

<small>HTML5</small>

  解释:<small>元素实际作用就是将文本放小一号。从语义上来看,用于免责声明和澄清声明。


  11.<sub><sup>添加上标和下标

<sub>5</sub>
<sup>5</sup>

  解释:<sub>和<sup>元素实际作用就是数学的上标和下标。语义也是如此。


  12.<code>等表示输入和输出

<code>HTML5</code>
<var>HTML5</var>
<samp>HTML5</samp>
<kdb>HTML5</kdb>

  解释:<code>表示计算机代码片段;<var>表示编程语言中的变量;<samp>表示程序 或计算机的输出;<kdb>表示用户的输入。由于这属于英文范畴的,必须将 lang="en"英语才能体现效果。


  13.<abbr>表示缩写

<abbr>HTML5</abbr>

  解释:<abbr>元素没有实际作用;从语义上看,是一段文本的缩写。


  14.<dfn>表示定义术语

<dfn>HTML5</dfn>

  解释:<dfn>元素就是一般性的倾斜;从语义上看,表示解释一个词或短语的一段文本。


  15.<q>引用来自他处的内容

<q>HTML5</q> 

  解释:<q>元素实际作用就是加了一对双引号。从语义上来看,表示引用来自其他地方的内容。


  16.<cite>引用其他作品的标题

<cite>HTML5</cite> 

  解释:<cite>元素实际作用就是加粗。从语义上来看,表示引用其他作品的标题。


  17.<ruby>语言元素

<ruby>
饕<rp>(</rp><rt>tāo</rt><rp>)</rp>
餮<rp>(</rp><rt>tiè</rt><rp>)</rp>
</ruby>

  解释:<ruby>用来为非西方语言提供支持。<rp><rt>用来帮助读者掌握表意语言文字 正确发音。比如:汉语拼音在文字的上方。


  18.<bdo>设置文字方向

<bdo dir="rtl">HTML5</bdo> 

  解释:<bdo>必须使用属性 dir 才可以设置,一共两个值:rtl(从右到左)和 ltr(从 左到右)。一般默认是 ltr。还有一个<bdi>元素也是处理方向的,由于是特殊语言的特殊效果,具有的支持程度要自己去测试了。


  19.<mark>突出显示文本

<mark>HTML5</mark> 

  解释:<mark>实际作用就是加上一个黄色的背景,黑色的字;从语义上来看,与上下文相关而突出的文本,用于记号。


  20.<time>表示日期和时间

<time>2015-10-10</time> 

  解释:<time>元素没有实际作用;从语义上来看,表示日期和时间。


  21.<span>表示一般性文本

<span>HTML5</span>

  解释:<span>元素没有实际作用;语义上就是表示一段文本,我们经常用它来设置 CSS 等操作。


  总结:其实这些元素看起来数量很多,但是能在浏览器展现的效果却很少。

  1.加粗

  2.倾向

  3.删除线

  4.下划线

  5.小号字体

  6.数学中的上下标

  7.英文生效的计算机代码片段效果

  8.双引号

  9.发音标注

  10.文字方向

  11.黄色背景,黑色字体

  12.换行相关

  而这些效果里面,大部分能够通过css实现,还有部分几乎用不到,所以没必要一定都要背下来。大概知道有哪些效果,用到的时候再查相应的表格就行了。

上一篇:LeetCode Binary Tree Longest Consecutive Sequence


下一篇:antv g2