一些你可能不知道但非常有用的 HTML 标签

一些你可能不知道但非常有用的 HTML 标签本文将介绍一些不常见但有用且高效的 html5 标签,这些 HTML 标签在大多数现代浏览器中都有很好的支持,不需要借助第三方库或编写额外代码,就能实现不错的效果,将节省大量时间并提高工作效率。

前言

本文将介绍一些不常见但有用且高效的 html5 标签,这些 HTML 标签在大多数现代浏览器中都有很好的支持,不需要借助第三方库或编写额外代码,就能实现不错的效果,将节省大量时间并提高工作效率。(还是很值得了解的🤔)

1. Details + Summary

detailsummary 标签组合使用,就能实现折叠面板(Collapse)的效果:

<details>
    <summary>Details👈</summary>
    Something small enough to escape casual notice.
</details>

值得一提的是,这在 Markdown 中也可以使用,掘金文章就支持,直接👇Details 试试:

Details👈

Something small enough to escape casual notice.

2. Fieldset + Legend

<Fieldset> 元素用于对表单中的控制元素进行分组(也包括 label 元素),如果其中有 <legend> 元素,会放在块级框起始处的边界上:

<fieldset>
  <legend>Choose your favorite monster</legend>

  <input type="radio" id="kraken" name="monster">
  <label for="kraken">Kraken</label><br/>

  <input type="radio" id="sasquatch" name="monster">
  <label for="sasquatch">Sasquatch</label><br/>

  <input type="radio" id="mothman" name="monster">
  <label for="mothman">Mothman</label>
</fieldset>

image.png

3. Meter

<meter> 元素用来显示已知范围的标量值或者分数值。简单来说,使用该元素,就能实现计量器的效果:

Heat the oven to <meter min="200" max="500" value="350">350 degrees</meter>.

image.png 指定min和max属性就能确定区间,如果value不在区间内,value就会取最接近的一端的值。此外它也能和表单关联、设定上下限值等,更多用法请看 MDN

4. Progress

从其名字上就知道<progress>元素就是作为进度条展示。在不指定 value 的情况下,它将来回播放展示:

<progress></progress>

progress.gif

同样的,也可以为其指定 value 和最大值(max):

<progress value="70" max="100">70 %</progress>

image.png

可以看到,在展示上和 meter 标签相似,对于简单的展示任务进度场景,使用它完全没问题。

5. Datalist

<datalist> 可以包含一组 <option> 元素,用于表示其它表单控件可选值。例如普通的文本输入框是没有可选输入值的,但借助 datalist 可以做到:

<label for="ice-cream-choice">Choose a flavor:</label>
<input list="ice-cream-flavors" id="ice-cream-choice" name="ice-cream-choice" />

<datalist id="ice-cream-flavors">
    <option value="Chocolate">
    <option value="Coconut">
    <option value="Mint">
    <option value="Strawberry">
    <option value="Vanilla">
</datalist>

datalist.gif 只需要为 input 标签指定 list 属性,其值为 datalist 元素的 id 就可以将二者关联起来。并且它本身就具备了模糊搜索🔍功能。如果在 option 标签内添加文本,也会展示在 datalist 中作为选项的描述信息:

<option value="Chocolate">Recommended today</option>

image.png

6. OptGroup

有时候需要为 <select> 元素中的选项创建分组,这时 <optgroup> 就派上用场了:

<label for="dino-select">Choose a dinosaur:</label>
<select id="dino-select">
    <optgroup label="Theropods">
        <option>Tyrannosaurus</option>
        <option>Velociraptor</option>
        <option>Deinonychus</option>
    </optgroup>
    <optgroup label="Sauropods">
        <option>Diplodocus</option>
        <option>Saltasaurus</option>
        <option>Apatosaurus</option>
    </optgroup>
</select>

下面是在 Firefox 浏览器上的效果: image.png

7. Input 系列

通过指定 <input> 的 type 属性可以得到不同的表单控件,这里只介绍两种不常见但是非常有用的——

2.1 ColorPicker

指定 type 为 color,就能创建一个颜色选择器(ColorPicker):

<input type="color">

MDN 介绍,此元素的外观会因浏览器不同而不同,可能是简单的验证颜色输入格式的文本框,也可能使用平台原生或自定义样式的颜色选择器。在 93 版本 Chrome(Mac)上呈现的效果如下: color.gif

它甚至内置了屏幕取色器功能。有兴趣的小伙伴可以在不同平台、浏览器上看下,还是相当惊艳的。通过指定 value 属性可以指定默认颜色值,不指定的情况下默认是 #000000(全黑)。

2.2 Slider

当 type 为 range 时,就可以实现一个滑动输入条(Slider):

<p>Audio settings:</p>

<div>
  <input type="range" id="volume" name="volume" min="0" max="11">
  <label for="volume">Volume</label>
</div>

<div>
  <input type="range" id="cowbell" name="cowbell" min="0" max="100" value="90" step="10">
  <label for="cowbell">Cowbell</label>
</div>

range.gif

结语

本文所介绍的 HTML 标签虽然在绝大多数浏览器下都支持,并且多数都支持样式覆盖,但因为在不同浏览器下表现存在差异,因此不推荐你在正式项目上使用它们,现成的 UI 库已经足够。在一些简单场景下使用它们还是能节省很多时间的。

文中所有示例来自 MDN,有兴趣的小伙伴还可以在上面找找还有那些罕见却有用的标签,欢迎在评论区补充👏

本文由推啊前端团队 @Winter97 同学整理撰写

今天的文章一些你可能不知道但非常有用的 HTML 标签分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:http://bianchenghao.cn/22068.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注