10 个不常用但你有必要知道的 html 标签 - V2EX
如果想在 V2EX 获得更好的推广效果,欢迎了解 PRO 会员机制:
pro/about

如果你经常使用铜币置顶主题,持有 V2EX Solana Token 会在每日签到时获得额外铜币:
solana
powertoolsteam

10 个不常用但你有必要知道的 html 标签

  •  
  •   powertoolsteam Apr 2, 2019 4224 views
    This topic created in 2601 days ago, the information mentioned may be changed or developed.

    概述

    HTML 也被称为超文本记语言( hyper text markup language )是为网页创建和其他可在网页浏览器中看到的信息设计的一种标记语言。HTML 被用来结构化信息,如标题、段落和列表等,也可用来在一定程度上描述文档的外观和语义。

    今天我们将介绍您可能不知道的十个 HTML 标签。虽然不常用,但是一旦遇到使用场景使用起来将是非常方便的。

    如果您想了解有关 HTML 的更多信息,可以访问 W3Schools 获取更多 HTML 信息。

    audio:

    <audio> 标签定义声音,比如音乐或其他音频流。目前支持三种文件格式:MP3,WAV 和 OGG。

    <audio src="http://www.v2ex.com/i/horse.ogg" cOntrols="controls"> Your browser does not support the audio element. </audio> 

    点击此处查看结果

    blockquote

    <blockquote> 标签定义块引用。 <blockquote> 与 </blockquote> 之间的所有文本都会从常规文本中分离出来,经常会在左、右两边进行缩进(增加外边距),而且有时会使用斜体。也就是说,块引用拥有它们自己的空间。

    Here comes a long quotation: <blockquote> This is a long quotation. This is a long quotation. This is a long quotation. This is a long quotation. This is a long quotation. </blockquote> 

    请注意,浏览器在 blockquote 元素前后添加了换行,并增加了外边距。

    点击此处查看结果

    output

    <output> 标签定义不同类型的输出,比如脚本的输出。标签包含以下属性 for 规定一个或多个元素的 id 列表,以空格分隔。这些元素描述了计算中使用的元素与计算结果之间的关系。 form 规定 <output> 元素所属的一个或多个表单的 id 列表,以空格分隔。 name 规定 <output> 元素的名称。 Internet Explorer 不支持 <output> 标签。

    <form Oninput="x.value=parseInt(a.value)+parseInt(b.value)">0 <input type="range" id="a" value="50">100 +<input type="number" id="b" value="50"> =<output name="x" for="a b"></output> </form> 

    点击此处查看结果

    picture

    <picture> 元素通过包含零或多个 <source> 元素和一个 <img> 元素来为不同的显示 /设备场景提供图像版本。浏览器会选择最匹配的子 <source> 元素,如果没有匹配的,就选择 <img> 元素的 src 属性中的 URL。然后,所选图像呈现在<img>元素占据的空间中。

    picture 标签的属性如下:

    srcset (必需) - 定义要显示的图像的 URL

    media - 接受通常在 CSS 中定义的任何有效媒体查询( media queries )

    例如下面所示

    <picture> <source media="(min-width: 650px)" srcset="img_pink_flowers.jpg"> <source media="(min-width: 465px)" srcset="img_white_flower.jpg"> <img src="img_orange_flowers.jpg" alt="Flowers" style="width:auto;"> </picture> 

    根据浏览器的最小宽度的变化,picture 将显示不同的图片

    点击此处查看结果

    progress

    <progress> 标签标示任务的进度(进程)。用于进度条显示

    <progress value="22" max="100"> </progress> 

    点击此处查看结果

    meter

    <meter> 标签定义已知范围或分数值内的标量测量。也被称为 gauge (尺度)。也可以用于进度条的显示

    <meter value="3" min="0" max="10">3/10</meter><br> <meter value="0.6">60%</meter> 

    点击此处查看结果

    template

    <template>标记内的内容本身是对用户隐藏的,通过 JS 可以将其用于重复实例化显示。相当有定义了一个模板,该模板可以通过 JS 重复被调用展示。

    例如下面定义模板:

    <template> <img src=” icon.jpg ”> </template> 

    在 JS 中可以通过 cloneNode() 方法,来重复实例化显示该模板中的内容:

    const template = document.querySelecor(‘ template ’); const templateClOne= myTemplate.content.cloneNode(true); document.body.appendChild(templateClone); 

    time

    <time> 标签定义公历的时间( 24 小时制)或日期,时间和时区偏移是可选的。

    time 主要作用在于可以方便的被爬虫抓取,从而获得相应的数据。

    time 本身对页面布局没有任何影响

    例如:

    <p> 我们在每天早上 <time>9:00</time> 开始营业。 </p> 

    video

    与<audio>相对应,<video> 标签定义视频,比如电影片段或其他视频流。

    <video src="http://www.v2ex.com/i/movie.ogg" cOntrols="controls"> your browser does not support the video tag </video> 

    点击此处查看结果

    wbr

    wbr 是 Word Break Opportunity 的简写,规定在文本中的何处适合添加换行符。

    例如下面的对于较长的单词 XMLHttpRequest 希望在换行时候能够截断换行而不是整个换行的情况下可以使用,下面的代码在换行的时候截断成 XML Http Request 分别进行换行,而不是 XMLHttpRequest 整个进行换行。

    <p> 如果想学习 AJAX,那么您必须熟悉 XML<wbr>Http<wbr>Request 对象。 </p> 

    点击此处查看结果

    14 replies    2019-04-03 13:24:11 +08:00
    whypool
        1
    whypool  
       Apr 2, 2019
    kamal
        2
    kamal  
       Apr 2, 2019
    ruby
    unicloud
        3
    unicloud  
       Apr 2, 2019 via iPhone
    blockquote 挺常用的
    potatosmith
        4
    potatosmith  
       Apr 2, 2019
    看 web 主要做什么的吧,音视频的 audio video 天天用
    Owenjia
        5
    Owenjia  
       Apr 2, 2019
    xy2401
        6
    xy2401  
       Apr 2, 2019
    大部分都知道。楼上的 details 很好用。我用来做嵌套目录结构展示。

    template 这个真不知道。好多年前我使用 一个 隐藏的 div 来做都
    效果大概一样?
    loading
        7
    loading  
       Apr 2, 2019 via Android
    div span 一把梭
    zzjas98
        8
    zzjas98  
       Apr 3, 2019
    section, caption, details + summary, figure + figcaption, aside, samp 反正多是为了更好爬
    allen945
        9
    allen945  
       Apr 3, 2019
    @loading 一看就是老江湖(狗头保命)
    powertoolsteam
        10
    powertoolsteam  
    OP
       Apr 3, 2019
    @Owenjia 赞一个,学习了
    powertoolsteam
        11
    powertoolsteam  
    OP
       Apr 3, 2019
    @xy2401 网上说有区别 https://segmentfault.com/q/1010000003116353
    但是我个人认为没什么区别,因为两者都会被 html 的 dom tree 加载,templete 不会被渲染,渲染的时候遇到隐藏的 dom 也会被跳过。所以我个人认为是没有区别的,这也是我比较疑惑的地方。可能是我了解的还不够充分,如果有哪位大神知道的欢迎指正解惑。
    Exia
        12
    Exia  
       Apr 3, 2019
    赞,有几个还真不知道
    no1xsyzy
        13
    no1xsyzy  
       Apr 3, 2019
    @powertoolsteam 参考 <https://stackoverflow.com/a/50029017/6202760>。
    另外参考 <https://www.html5rocks.com/en/tutorials/webcomponents/template/>。
    1. 处理效率更高;
    2. 内部的带副作用的元素不会生效(<style>/<script>/<audio>/<video>/...)
    3. 内部元素不会被 document.querySelector 等选中;
    4. 内部元素可以是 <tr> 这种无法单独存在的节点;
    5. 本身可以被放在本来不可能放 <div> 的位置(比如 <head> 里)。
    no1xsyzy
        14
    no1xsyzy  
       Apr 3, 2019
    @powertoolsteam 另外这个:<https://developer.mozilla.org/en-US/docs/Web/Web_Components/Using_templates_and_slots>
    配合 Web Components 可以通过设置某个标签的 slot 属性对应到 <slot> 标签的 name 属性并相应地填入。
    About     Help     Advertise     Blog     API     FAQ     Solana     1557 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 91ms UTC 16:45 PVG 00:45 LAX 09:45 JFK 12:45
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86