• 查看作者
  • 从未学习的HTML5标签,快来补课

    HTML5是网页开发的重要标记语言,新增了许多标签,旨在提升网页的结构性和可访问性。通过使用这些语义化标签,开发者可以创建更直观、互动性强的网页。接下来,我们将探索一些你应该还没有学过的HTML5标签及其应用。

    <ruby> 标签

    HTML <ruby> 元素被用来展示东亚文字注音或字符注释。

    比如:

    <ruby>兄弟<rt>xiongdi</rt></ruby>

    从未学习的HTML5标签,快来补课 html5 第1张图片

    <rt> 元素包含字符的发音,字符在 ruby 注解中出现,它用于描述东亚字符的发音。这个元素始终在 <ruby> 元素中使用。

    如果需要将每个字和上面的拼音垂直对齐,可以使用两个 ruby 标签

    <ruby>兄<rt>xiong</rt></ruby>
    <ruby>弟<rt>di</rt></ruby>

    从未学习的HTML5标签,快来补课 html5 第2张图片

    ruby 标签里面还有个 rp 标签,<rp> 元素用于为那些不能使用 <ruby> 元素展示 ruby 注解的浏览器。

    <ruby> 兄弟 <rp>(</rp><rt>xiongdi</rt><rp>)</rp> </ruby>

    用 ruby 能创造一些有意思的效果。

    1、字幕拼音

    <div>
        <ruby>字<rt>zi</rt></ruby>
        <ruby>幕<rt>mu</rt></ruby>
        <ruby>拼<rt>pin</rt></ruby>
        <ruby>音<rt>yin</rt></ruby>
    </div>

    从未学习的HTML5标签,快来补课 html5 第3张图片

    2、文字翻译注释

    <div>
        <ruby>jack,slowfuck<rt>捷克斯洛伐克(是一个国家)</rt></ruby>
        </div>
        <div>
        <ruby>jack,slowfuck<rt>捷克斯洛伐克</rt></ruby>
        </div>
        <div>
        <ruby>测试试<rt>あいにてつてせ</rt></ruby>
    </div>

    从未学习的HTML5标签,快来补课 html5 第4张图片

    3、人物介绍时,竖向文字的注释

    <div>
      <ruby style="writing-mode: vertical-lr;display:inline-block;">曹操<rt>字 孟德</rt></ruby>
      <ruby style="writing-mode: vertical-lr;display:inline-block;">刘备<rt>字 玄德</rt></ruby>
    </div>

    从未学习的HTML5标签,快来补课 html5 第5张图片

    4、公式中的注释

    <div>
        A+B <ruby>===<rt>催化剂</rt></ruby>AB +BA
    </div>

    从未学习的HTML5标签,快来补课 html5 第6张图片

    5、多层叠加注释

    <div>
        <ruby>
            <ruby>中国<rt>中华人民共和国</rt></ruby>
            <rt>people republic of china</rt>
        </ruby>
    </div>

    从未学习的HTML5标签,快来补课 html5 第7张图片

    <del> <ins> 标签

    <del> 元素表示从文档中删除的文字内容。效果相当于 css 的 text-decoration:line-through;

    <del>被删除的内容</del>

    被删除的内容

    <ins> 元素定义已经被插入文档中的文本。效果相当于 css 的 text-decoration:underline;

    <ins>被插入的内容</ins>

    被插入的内容

    当然,我们也可以修改 del 和 ins 的默认样式;以下例子来自 MDN。

    <del>
      <p>被删除的内容</p>
    </del>
    <ins>
      <p>被插入的内容</p>
    </ins>
    <style>
        del,ins { display: block; text-decoration: none; position: relative }
        del { background-color: #fbb; }
        ins { background-color: #d4fcbc; }
        
        del::before, ins::before {
          position: absolute;
          left: 0.5rem;
          font-family: monospace;
        }
        del::before { content: '−'; }
        ins::before { content: '+'; }
    </style>

    从未学习的HTML5标签,快来补课 html5 第8张图片

    <abbr> 标签

    <abbr> 元素表示一个缩写词或首字母缩略词。有一个可选的 title 属性,可包含完整的词汇或者语句。

    <abbr title="史蒂芬库里,小学生,库日天">库里</abbr>

    鼠标划上去查看效果:库里

    <datalist> 标签

    <datalist>  元素包含了一组 <option> 元素,这些元素表示其他表单控件可选值。

    要关联表单控件 <datalist> 元素,需要将表单控件的 list 属性与 <datalist> 的 id 属性设置为一样的值;

    <input type="text" list="lists" placeholder="请选择或输入">
    <datalist id="lists">
      <option value="HTML"></option>
      <option value="CSS"></option>
      <option value="JAVASCRIPT"></option>
    </datalist>

    从未学习的HTML5标签,快来补课 html5 第9张图片

    如果表单控件没有设置 list 属性或者 <datalist> 没有设置 id 属性,则没有下拉框可选项的效果。

    <wbr> 标签

    <wbr>元素表示一个单词换行机会——文本中的一个位置,浏览器可以选择在此处换行,即使其换行规则不会在此处换行。

    不过这个标签对中文无效。

    <div style="width:120px;overflow:auto;resize:horizontal;border:1px dotted #000;">
        wbr 标签: 
        <p>1111111222223333344445555666</p>
        <br>
        <p>1111111<wbr>22222<wbr>33333<wbr>4444<wbr>5555<wbr>666<wbr></p>
    </div>

    观察下面图中的变化

    从未学习的HTML5标签,快来补课 html5 第10张图片

    <bdo> <bdi> 标签

    <bdo> 元素覆盖了当前文本的方向,使文本以不同的方向渲染出来。

    在元素上设置全局属性 dir,可以表示元素里面的内容渲染方向

    <bdo dir="rtl">一行从右到左的文本</bdo>
    <bdo dir="ltr">一行从左到右的文本</bdo>

    从未学习的HTML5标签,快来补课 html5 第11张图片

    还有一个和 <bdo> 很像的标签 <bdi>

    mdn 对它的介绍很能说明它的作用了:双向隔离元素 <bdi> 告诉浏览器的双向算法将其包含的文本与周围的文本隔离,当网站动态插入一些文本且不知道所插入文本的方向性时,此功能特别有用。

    我用上面的例子再加上 <bdi>,来看看效果。

    <bdo> 和其他块级元素,改变里面文字的方向时,在显示上会有差异。

    <fieldset>
        <legend> &lt;bdo dir="rtl"&gt;</legend>
        <bdo dir="rtl">这是<bdi style="color:red;">一行</bdi>文本,结束。</bdo>
    </fieldset>
    <fieldset>
        <legend>&lt;bdo style="direction: rtl;"&gt;</legend>
        <bdo style="direction: rtl;">这是<bdi·style="color:□red;">一行</bdi>文本,结束。</bdo>
    </fieldset>
    <fieldset>
        <legend>&lt;p dir="rtl"&gt;</legend>
        <p dir="rtl">这是<bdi style="color:red;">一行</bdi>文本,结束。</p>
    </fieldset>
    <fieldset>
        <legend>&lt;p style="direction: rtl;"&gt;</legend>
        <p style="direction: rtl;">这是<bdi style="color:red;">一行</bdi>文本,结束。</p>
    </fieldset>

    从未学习的HTML5标签,快来补课 html5 第12张图片

    在上面的 p 元素中,改变文字方向的同时也会改变文本布局方式。

    <col> 标签

    表格列元素,<col>元素在父 <colgroup> 元素所代表的列组中定义一列或多列。

    <col> 标签有个 span 属性,指定控制的连续列数。

    比如有一个三行七列的表格

    <table>
        <caption>this is a table</caption>
        <tr>
          <th></th>
          <th>一</th>
          <th>二</th>
          <th>三</th>
          <th>四</th>
          <th>五</th>
          <th>六</th>
          <th>七</th>
        </tr>
        <tr>
          <td>上午</td>
          <td>11</td>
          <td>11</td>
          <td>11</td>
          <td>11</td>
          <td>11</td>
          <td>11</td>
          <td>11</td>
        </tr>
        <tr>
          <td>下午</td>
          <td>22</td>
          <td>22</td>
          <td>22</td>
          <td>22</td>
          <td>22</td>
          <td>22</td>
          <td>22</td>
        </tr>
      </table>

    从未学习的HTML5标签,快来补课 html5 第13张图片

    下面代码就表示第一个 <col> 标签影响前两列,随后的 4 个 <col> 标签影响随后的 4 列,最后一个 <col> 标签影响最后两列。

    <colgroup>
      <col span="2">
      <col style="background-color:#97db0a;">
      <col style="width:40px;">
      <col style="background-color:#97db0a;">
      <col style="background-color:#97db0a;border:4px solid #c1437a;">
      <col span="2" style="width:100px;">
    </colgroup>

    从未学习的HTML5标签,快来补课 html5 第14张图片

  • 0
  • 0
  • 0
  • 723
  • #笔记
  • 请登录之后再进行评论

    登录
    最新评论