【HTML】MDN

文章目录

  • 一、html元素
    • 1.1 `<a>`
    • 1.2 `<abbr>`
    • 1.3 `<address>`
    • 1.4`<area>`
    • 1.5 `<article>`
    • 1.6 `<aside>`
    • 1.7 `<audio>`
    • 1.8 `<b>`
    • 1.9 `<base>`
    • 1.10`<bdi>`
    • 1.11 `<bdo>`
    • 1.12 `<blockquote>`
    • 1.13 `<body>`
    • 1.14 `<br>`
    • 1.15 `<button>`
    • 1.16 `<canvas>`
    • 1.17 `<caption>`
    • 1.18 `<cite>`
    • 1.19 `<code>`
    • 1.20 `<col>,<colgroup>`
    • 1.21 `<data>`
    • 1.22 `<datalist>`
    • 1.23 `<dl>,<dt>,<dd>`
    • 1.24 `<del>,<ins>`
    • 1.25 `<details>,<summary>`
    • 1.26 `<dialog> `
    • 1.27 `<div>`
    • 1.28 `<em>`
    • 1.29 `<embed>`
    • 1.30 `<fieldset>,<legend>`
    • 1.31 `<figure>,<figcaption>`
    • 1.31 `<footer>`
    • 1.32 `<form>`
    • 1.33 `<h1>`
    • 1.34 `<head>`
    • 1.35`<header>`
    • 1.36 `<hgroup>`
    • 1.37 `<hr>`
    • 1.38 `<html>`
    • 1.39 `<i>`
    • 1.40 `<iframe>`
    • 1.41 `<img>`
    • 1.42 `<input>`
    • 1.43 `<kbd>`
    • 1.44 `<label>`
    • 1.45 `<li>`
    • 1.46 `<link>`
    • 1.47 `<main>`
    • 1.48`<map>`
    • 1.49 `<mark>`
    • 1.50 `<menu>`
    • 1.51 `<meta>`
    • 1.52 `<meter>`
    • 1.53 `<nav>`
    • 1.54 `<noscript>`
    • 1.55 `<object>`
    • 1.56 `<ol>`
    • 1.57 `<optgroup>,<option>`
    • 1.58 `<output>`
    • 1.59 `<p>`
    • 1.60 `<picture>`
    • 1.61 `<pre>`
    • 1.62 `<progress>`
    • 1.63 `<q>`
    • 1.64 `<rp>,<rt>,<ruby>`
    • 1.65 `<s>`
    • 1.66 `<samp>`
    • 1.67 `<script>`
    • 1.68 `<search>`
    • 1.69 `<section>`
    • 1.70 `<select>`
    • 1.71 `<slot>`
    • 1.72 `<small>`
    • 1.73 `<source>`
    • 1.74 `<span>`
    • 1.75 `<strong>`
    • 1.76 `<style>`
    • 1.77 `<sub>,<sup>`
    • 1.78 `<table>,<thead>,<tbody>,<tfoot>,<td>,<th>,<tr>`
    • 1.79 `<template>`
    • 1.80 `<textarea>`
    • 1.81 `<time>`
    • 1.82 `<title>`
    • 1.83 `<track>`
    • 1.84 `<u>`
    • 1.85 `<ul>`
    • 1.86 `<var>`
    • 1.87 `<video>`
    • 1.88 `<wbr>`
  • 二、全局属性
    • 2.1 accesskey
    • 2.2 autocapitalize
    • 2.3 autofocus
    • 2.4 class
    • 2.5 contenteditable
    • 2.6 data-*
    • 2.7 dir
    • 2.8 draggable
    • 2.9 enterkeyhint
    • 2.10 exportparts
    • 2.11 hidden
    • 2.12 id
    • 2.13 inert
    • 2.14 inputmode
    • 2.15 is
    • 2.16 itemid,itemprop,itemref,itemscop,itemtype
    • 2.17 lang
    • 2.18 nonce
    • 2.19 part
    • 2.20 popover
    • 2.21 slot
    • 2.22 spellcheck
    • 2.23 style
    • 2.24 tabindex
    • 2.25 title
    • 2.26 translate
  • 三、指南
    • 3.1 内容分类
    • 3.2 块级元素
    • 3.3 内联元素
    • 3.4 怪异模式和标准模式
    • 3.5 HTML日期和时间格式
      • 3.5.1 星期
      • 3.5.2 月
      • 3.5.3 日期
      • 3.5.4 时间
      • 3.5.5 本地日期和时间
      • 3.5.6 全局日期和时间
    • 3.6 约束验证
      • 3.6.1 固有基本约束
      • 3.6.2 约束验证处理
      • 3.6.3 使用约束验证API的复杂验证
      • 3.6.4 约束验证的视觉样式
    • 3.7 微数据
    • 3.8 微格式
    • 3.9 视口源标签
    • 3.10 允许跨域使用image和canvas

一、html元素

1.1 <a>

作用

创建通向其他网页、文件、电子邮件地址、同一页面内的位置或任何其他 URL 的超链接

属性

  • download,链接作为下载资源

    <!-- 网站的地址为http://127.0.0.1:5500/test/test1.html-->
    
    <!-- 不指定文件名,浏览器自行判断 -->
    <a href="http://127.0.0.1:5500/speaker.png" download="">下载</a>
    <!-- 手动指定文件名,文件名(name.png)中的/和 \ 被转化为下划线(`_`) -->
    <a href="http://127.0.0.1:5500/speaker.png" download="name">下载</a>
    <!-- 只在同源 URL 或 blob:、data: 协议起作用,如下不会下载,只会打开 -->
    <a href="https://media.w3.org/2010/05/sintel/trailer.mp4" download="">下载吗</a>
    
  • href,超链接所指向的 URL

  • ping,当链接被点击时,浏览器会发送带有正文 PINGPOST 请求

    <!--会给http://192.168.0.1/发送post请求,请求体为ping-->
    <a href="http://127.0.0.1:5500/speaker.png" ping="//192.168.0.1" target="_blank"> 用于追踪的链接 </a>
    
  • referrerpolicy,此链接的referrer策略

  • rel,指定了目标对象到链接对象的关系

    <!--新窗口中使用window.opener,可以查看旧窗口的window对象,从而在新窗口,操作旧窗口的dom元素-->
    <a href="../test.html" rel="opener" target="_blank" >打开新窗口</a>
    

    注意,使用 target="_blank" 而不使用 rel="noreferrer" (en-US) 和 rel="noopener" (en-US) 会使网站容易受到 window.opener 的 API 攻击。不过请注意,在较新的浏览器版本中,设置 target="_blank" 隐式地提供了与设置 rel="noopener" 同样的保护

  • target,指定以那种方式打开链接

应用

  • 链接到相对地址

    <a href="//example.com">相对于协议的 URL</a>
    <a href="/zh-CN/docs/Web/HTML">相对于源的 URL</a>
    <a href="./p">相对于路径的 URL</a>
    
  • 链接到相同页面的元素上

    <!-- <a> 元素链接到下面部分 -->
    <p><a href="#Section_further_down"> 跳转到下方标题 </a></p>
    
    <!-- 要链接到的标题 -->
    <h2 id="Section_further_down">更下面的部分</h2>
    

    你可以使用 href="#top" 或空片段(href="#")来链接到当前页面的顶部

  • 链接到 email 地址

    <a href="mailto:nowhere@mozilla.org">Send email to nowhere</a>
    
  • 链接到电话号码

    <a href="tel:18888888888">电话</a>
    
  • 使用 download 属性将 保存为 PNG 格式

    要把 <canvas> 元素的内容保存为图片,你可以创建一个链接,其中 href 是用 JavaScript 创建的 data: URL 的 canvas 数据
    
  • onclick 事件

    锚点元素经常被滥用为假按钮,将其 href 设置为 #javascript:void(0) 以防止页面刷新,然后监听其 click 事件

    请使用<button> 代替。一般来说,你应该只使用超链接来导航到一个真正的 URL

1.2 <abbr>

作用

用于代表缩写

属性

只有全局属性

应用

    <p>使用<abbr title="超文本标记语言">HTML</abbr> 是一门技术</p>

1.3 <address>

作用

表示其中的 HTML 提供了某个人或某个组织(等等)的联系信息,语义化联系信息

属性

只有全局属性

注意

当表示一个和联系信息无关的任意的地址时,请改用<p>元素而不是 <address> 元素

通常,<address> 元素可以放在 <footer>元素之中(如果存在的话)

1.4<area>

作用

图片上定义一个热点区域,关联一个超链接

属性

只有全局属性,包含a元素的属性

  • coords

    <!-- 对于shape是圆形,coords为圆心坐标和半径 -->
    <area shape="circle" coords="0,0,25" href="../test.html" />
    <!-- 对于shape是矩形,coords为左上坐标和右下坐标 -->
    <area shape="rect" coords="0,0,25,25" href="../test.html" />
    <!-- 对于poly是多边形,coords为多边形边的坐标-->
    <area shape="poly" coords="0,0,25,25,75,75" href="../test.html" />
    
  • shape

    指定区域的形状

应用

<!--usemap也可以是map的name属性,也可以是id属性值-->
<map id="idd" name="primary">
    <area shape="circle" coords="0,0,25" href="../test.html" />
</map>
<img usemap="#idd" src="../pinyinw.png" alt="">

1.5 <article>

作用

表示此元素是一篇文章的语义

属性

只有全局属性

应用

<article class="forecast">
  <h1>Weather forecast for Seattle</h1>
  <article class="day-forecast">
    <h2>03 March 2018</h2>
    <p>Rain.</p>
  </article>
</article>

1.6 <aside>

作用

通常侧边栏使用此标签

属性

只有全局属性

应用

1.7 <audio>

作用

用于在文档中嵌入声音内容

属性

  • autoplay,如果存在此属性,会自动播放,但是会受浏览器自动播放的阻止
  • controls,如果存在此属性,则显示控制界面
  • disableremoteplayback,使用有线或无线连接的设备中,禁用远程播放功能
  • loop,如果存在此属性,重复播放
  • muted,如果存在此属性,最初静音

应用

  • 基本

    <audio src="AudioTest.ogg" autoplay>
    </audio>
    
  • 创建多个源

    <audio controls>
       <!--在属性中包含文件的 MIME 类型总是很有用的,因为浏览器能够立即判断它是否可以播放该文件,如果不能,则不会浪费时间-->
      <source src="foo.opus" type="audio/ogg; codecs=opus" />
      <source src="foo.ogg" type="audio/ogg; codecs=vorbis" />
      <source src="foo.mp3" type="audio/mpeg" />
    </audio>
    

注意

  • 使用js生成audio标签,不用插入body中,也可以使用js播放等
  • 如果audio/video返回403,被服务器禁止,则加上<meta name="referrer" content="no-referrer" />
  • 还要记住http1.1和2.0的请求头是不一样的,是浏览器和服务器建立连接前的握手服务器告知的

1.8 <b>

作用

用于吸引读者的注意到该元素的内容上

属性

只有全局属性

注意

你不应将 <b> 元素用于显示粗体文字;替代方案是使用 CSS

1.9 <base>

作用

指定用于一个文档中包含的所有相对 URL 的根 URL

属性

只有全局属性

应用

若当前页面地址为:http://127.0.0.1:5500/test/test1.html

  • 情况一

    不设置base元素
    baseUrl为http://127.0.0.1:5500/test/test1.html
    a元素绝对地址:http://127.0.0.1:5500/test.html
    <a href="/test.html">test</a>
    
  • 情况二

    设置base元素(url没带协议符号)
    baseUrl为http://127.0.0.1:5500/test/www.baidu.com
    a元素绝对地址:http://127.0.0.1:5500/test.html
    <base href="www.baidu.com">
    <a href="/test.html">test</a>
    
  • 情况三

    设置base元素(url带协议)
    baseUrl为https://www.baidu.com/
    a元素绝对地址:https://www.baidu.com/test.html
    <base href="https://www.baidu.com">
    <a href="/test.html">test</a>
    

注意

  • 这个元素必须在其他任何属性是 URL 的元素之前
  • 如果指定了多个 <base> 元素,只会使用第一个

1.10<bdi>

作用

其包含的文本与周围的文本分开处理

属性

只有全局属性

应用

文字应用规则从右向左,但是使用<bdi>包裹的文字会忽略此规则
<p>
    <bdo dir="rtl">这是一个反序的文本<bdi>(括号内强制正序)</bdi></bdo>
</p>

1.11 <bdo>

作用

自定义,包裹的文本显示方向

属性

  • dir
    • ltr,表示文本应从左到右方向排列
    • rtl,表示文本应从右到左方向排列

应用

<p>
    <bdo dir="rtl">这是一个反序的文本</bdo>
</p>

1.12 <blockquote>

作用

指示所包含的文本是扩展引用

属性

  • cite,指定引用的地址

应用

<blockquote cite="https://www.baidu.com">这是一个块引用的元素</blockquote>

1.13 <body>

作用

文档主体元素

属性

  • 属性比较多

应用

<body onoffline="offline()" ononline="online()">
</body>
<script>
    function offline() {
        console.log('网络连接异常')
    }
    function online() {
        console.log('网络连接恢复')
    }
    window.addEventListener(
        "resize",
        function () {
            console.log("调整了大小");
        },
        false,
    );
</script>

1.14 <br>

作用

在文本块中创建换行符

属性

包括全局属性

应用

<p>
  O’er all the hilltops<br/>
  Is quiet now
</p>

1.15 <button>

作用

表示一个按钮元素

属性

  • autofocus,在页面加载时,具有输入焦点
  • disabled,禁用按钮
  • form,关联的表单id,用于指定提交的表单
  • formaction,处理按钮提交的信息的 URL,覆盖form元素中的action属性
  • formenctype,指定如何编码表单数据,覆盖form元素中的enctype属性
  • formmethod,指定请求方法,覆盖form元素中的method属性
  • formnovalidate,指定在表单提交时,不进行验证(那些设置了验证的表单)
  • formtarget,提交表但后表单在何处响应,新窗口还是本窗口等
  • name,表达数据提交时的名字,和value成对
  • value,表达数据提交时的值,和name成对
  • popovertarget,可以指定弹出/关闭一个窗口的id
  • popovertargetaction,指定id后,此属性确定是弹出还是关闭等操作
  • type,指定按钮的默认行为,不设置默认为提交按钮,若不需要提交,必须设置成button

应用

  • 整体应用

    <form id="fm">
        <input type="text" name="6xpAB" id="">
        <button>内部提交按钮</button>
    </form>
    
    <button form="fm" formmethod="post" fomaction="http://127.0.0.1:3000/">提交</button>
    
  • formmethod值为dialog的使用

    <dialog open>
        <form id="dialogid" action="http://127.0.0.1:3000/" method="dialog">
            <button value="关闭">关闭</button>
        </form>
        <button form="dialogid" type="submit" value="提交" formmethod="dialog">提交</button>
    </dialog>
    
    <script>
        var dialog = document.getElementsByTagName('dialog')[0];
        dialog.addEventListener('close', function (e) {
            //返回两个button的value值
            console.log(this.returnValue)
        })
    </script>
    
  • 弹出框

    <button popovertarget="mypopover">弹出</button>
    <div id="mypopover" popover>这是弹出框</div>
    
  • 发顺丰

注意

  • 如果您的按钮不是用于向服务器提交表单数据,请务必将其type属性设置为button

1.16 <canvas>

作用

绘制图形的一块画布

属性

  • height,默认为150px
  • width,默认为300px

应用

<canvas width="1000px" height="1000px"></canvas>
<script>
    var canvas = document.getElementsByTagName('canvas')[0];
    var ctx = canvas.getContext('2d');
    ctx.strokeStyle  = 'red'
    ctx.lineWidth = 1
    ctx.beginPath()
    ctx.moveTo(100.5,100.5)
    ctx.lineTo(200.5,200.5)
    ctx.stroke()
</script>

1.17 <caption>

作用

指定表格的标题

属性

该元素包含全局属性

应用

<table>
    <caption>
      图一
    </caption>
    <tr>
      <td></td>
      <th scope="col" class="heman">He-Man</th>
      <th scope="col" class="skeletor">Skeletor</th>
    </tr>
  </table>

1.18 <cite>

作用

元素用于标记引用的创意作品的标题

属性

该元素包含全局属性

应用

<p>More information can be found in <cite>[ISO-0000]</cite>.</p>

1.19 <code>

作用

表明该文本是计算机代码的一小段

属性

该元素包含全局属性

应用

<p>
  The function <code>selectAll()</code> highlights all the text in the input
  field so the user can, for example, copy or delete the text.
</p>

1.20 <col>,<colgroup>

作用

用于为表格中的一列或多列设置属性值

属性

  • span,需要设置的列数,则其默认值为1

应用

<table>
    <colgroup span="2" style="background-color: blue;"></colgroup>
    
    <col span="2" style="background-color: rgb(174, 174, 175);"/>
    <col style="background-color: rgb(174, 174, 175);"/>
    <col style="background-color: rgb(174, 174, 175);"/>
</table>

1.21 <data>

作用

给定的内容片段与机器可读的翻译链接起来

属性

  • value,该属性指定元素内容的机器可读翻译

应用

<ul>
  <li><data value="398">Mini Ketchup</data></li>
  <li><data value="399">Jumbo Ketchup</data></li>
  <li><data value="400">Mega Jumbo Ketchup</data></li>
</ul>

1.22 <datalist>

作用

元素包含一组元素,这些元素表示可从其他控件中进行选择的允许或推荐选项

属性

共有全局属性

应用

<input list="textlist" type="text">
<input list="timelist" type="time"/>
<input list="rangelist" type="range">
<input list="colorlist" type="color">
<input list="sclist" type="password">
<datalist id="textlist">
    <option value="番茄"></option>
    <option value="土豆"></option>
    <option value="洋葱"></option>
    <option value="白菜"></option>
</datalist>
<datalist id="timelist">
    <option value="01:00"></option>
    <option value="02:00"></option>
    <option value="03:00"></option>
    <option value="04:00"></option>
</datalist>
<datalist id="rangelist">
    <option value="1"></option>
    <option value="20"></option>
    <option value="60"></option>
    <option value="70"></option>
</datalist>
<datalist id="colorlist">
    <option value="#339989"></option>
    <option value="#639783"></option>
    <option value="#a92989"></option>
    <option value="#b3f989"></option>
</datalist>

1.23 <dl>,<dt>,<dd>

作用

用于描述一个列表数据

  • dl,指定一个描述列表
  • dt,执行一个描述的术语
  • dd,指定一个描述的详情

属性

共有全局属性

应用

<p>Cryptids of Cornwall:</p>

<dl>
  <dt>Beast of Bodmin</dt>
  <dd>A large feline inhabiting Bodmin Moor.</dd>

  <dt>Morgawr</dt>
  <dd>A sea serpent.</dd>

  <dt>Owlman</dt>
  <dd>A giant owl-like creature.</dd>
</dl>

1.24 <del>,<ins>

作用

表示已从文档中删除或插入的文本范围

属性

  • cite,指定更改资源的url
  • datetime,指定更改的事件和日期

应用

<!--可以方便为del和ins设置统一样式-->
<p>“You're late!”</p>
<del>
  <p>“I apologize for the delay.”</p>
</del>
<ins cite="../howtobeawizard.html" datetime="2018-05">
  <p>“A wizard is never late …”</p>
</ins>

1.25 <details>,<summary>

作用

创建一个公开小部件,其中只有当小部件切换到“打开”状态时信息才可见

  • details,详细信息
  • summary,摘要信息

属性

  • open,指定detail是否展开

应用

<details>
    <summary>这是摘要</summary>
    <div>
        这是显示的详细信息,这里可以看到具体的内容
    </div>
</details>

1.26 <dialog>

作用

对话框元素

属性

  • open,指示对话框处于活动状态并且可以进行交互

应用

  • 非模式对话框(可以和页面其余部分交互,使用show()打开)

    <dialog open>
      <p>Greetings, one and all!</p>
      <form method="dialog">
        <button>OK</button>
      </form>
    </dialog>
    
  • 模式对话框(不允许和其余部分交互,使用showModal()打开,可使用ESC按钮关闭)

    <style>
        /* 设置模式对话框背景 */
        ::backdrop{
            background-color: rgb(57, 179, 209);
            opacity: 0.5;
        }
    </style>
    
    <body>
        <dialog>
            <button id="close">Close</button>
            <p>这是一个模式对话框</p>
        </dialog>
        <button id="showdialog">显示对话框</button>
    </body>
    <script>
        var showbtn = document.getElementById('showdialog');
        var dialog = document.getElementsByTagName('dialog')[0];
        var closebtn = document.getElementById('close');
        showbtn.addEventListener('click',()=>{
            dialog.showModal();
        })
        closebtn.addEventListener('click',()=>{
            dialog.close();
        })
    </script>
    
    
  • 带有返回值的对话框

    <body>
        <dialog>
            <input type="text">
            <button id="close" type="submit" value="123">Close</button>
            <p>这是一个模式对话框</p>
        </dialog>
        <button id="showdialog">显示对话框</button>
    </body>
    <script>
        var showbtn = document.getElementById('showdialog');
        var dialog = document.getElementsByTagName('dialog')[0];
        var closebtn = document.getElementById('close');
        var input = document.getElementsByTagName('input')[0];
        showbtn.addEventListener('click',()=>{
            dialog.showModal();
        })
        closebtn.addEventListener('click',()=>{
            //同时将close方法参数保留至dialog.returnValue属性上
            dialog.close(input.value);
        })
        dialog.addEventListener('close',()=>{
            console.log(dialog.returnValue)
        })
    </script>
    
  • 带有表单的对话框传递值(使用表单关闭)

    <body>
        <p id="showText">1</p>
        <dialog>
            <p>这是一个模式对话框</p>
            <!--表单的method必须设置成dialog-->
            <form action="" method="dialog">
                <input type="text">
                <button id="close" type="submit" value="">Close</button>
            </form>
        </dialog>
        <button id="showdialog">显示对话框</button>
    </body>
    <script>
        var showbtn = document.getElementById('showdialog');
        var closebtn = document.getElementById('close');
        var showText = document.getElementById('showText');
        var dialog = document.getElementsByTagName('dialog')[0];
        var input = document.getElementsByTagName('input')[0];
        showbtn.addEventListener('click', () => {
            dialog.showModal();
        })
        input.addEventListener('input',()=>{
            //在输入框输入时,更改表单中按钮的值
            closebtn.value = input.value
        })
        dialog.addEventListener('close', () => {
            showText.innerHTML = dialog.returnValue;
            console.log(dialog.returnValue)
            console.log("关闭了")
        })
        dialog.addEventListener('cancel', () => {
            console.log(dialog.returnValue)
            console.log("取消了")
        })
    </script>
    
    
  • 必须有输入的提交

    <dialog>
        <p>这是一个模式对话框</p>
        <form action="" method="dialog">
            <!--此输入框有required属性,则必须输入值,才能关闭对话框,如要强制关闭,则在button上添加formnovalidate属性-->
            <input type="text" required>
            <button id="close" type="submit" value="" formnovalidate>Close</button>
        </form>
    </dialog>
    
  • 对话框动画

1.27 <div>

作用

内容划分元素,无特殊功能

属性

只有全局属性

应用

<div>
  <p>
    Any kind of content here. Such as &lt;p&gt;, &lt;table&gt;. You name it!
  </p>
</div>

1.28 <em>

作用

指示一个强调的元素

属性

只有全局属性

应用

1.29 <embed>

作用

在文档的指定位置嵌入外部内容

属性

只有如下四个属性

应用

<embed type="video/webm" src="/media/cc0-videos/flower.mp4" width="250" height="200" />

1.30 <fieldset>,<legend>

作用

  • fieldset在表单中,对多个控件和标签(label)进行分组
  • legend为其标题

属性

  • disabled,设置后,fieldset内的控件不可编辑,不可提交和不可接受事件,但是legend标签中的不受限制
  • form,当fieldset在表单外面时,做关联用,值为表单的id
  • name,与组关联的名称

应用

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

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

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

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

1.31 <figure>,<figcaption>

作用

  • figure,可选标题的一个插图等,通常使用在图像,插图,图标,代码片段中
  • figcaption,它的可选标题

属性

只有全局属性

应用

<figure>
    <img src="/pinyinw.png" alt="Elephant at sunset" />
    <figcaption>标题</figcaption>
</figure>

1.31 <footer>

作用

页脚元素,主要显示作者信息,版权信息,和文档相关链接

属性

只有全局属性

应用

<body>
  <h3>标题</h3>
  <footer>
    <small>
      Copyright © 2023 版权所有.
    </small>
  </footer>
</body>

1.32 <form>

作用

包含用于提交信息的交互式控件

属性

  • accept-charset,服务器接受的空格分隔字符编码
  • autocapitalize,控制输入的文本是否自动大写,如果是,以何种方式大写
  • autocomplete,(值off/on)浏览器是否可以在默认情况下自动完成输入元素的值,控件设置的话,覆盖之
  • name,表单的名字
  • rel,参考
  • action,指定表单提交的url,当method="dialog"时,此值忽略
  • enctype,post提交时请求体的编码方式
  • method,请求方法
  • novalidate,表单提交时不验证
  • target,指示提交表单后在何处显示响应

应用

1.33 <h1>

作用

标题元素1-6级

属性

包含全局属性

1.34 <head>

作用

包含了机器可读的信息,元数据(metadata)

属性

只有全局属性

1.35<header>

作用

页头元素,它可能包含一些标题元素,但也可能包含徽标、搜索表单、作者姓名和其他元素

属性

只有全局属性

1.36 <hgroup>

作用

<hgroup>元素允许将标题与任何次要内容(如副标题、备选标题或标语)分组

属性

只有全局属性

1.37 <hr>

作用

表示段落级元素之间的主题中断

属性

只有全局属性

应用

<hr />
<style>
    hr {
        border: none;
        border-top: 3px double #333;
        color: #333;
        overflow: visible;
        text-align: center;
        height: 5px;
    }

    hr::after {
        background: #fff;
        content: '§';
        padding: 0 4px;
        position: relative;
        top: -13px;
    }
</style>

1.38 <html>

作用

文档的根元素

属性

只有全局属性

1.39 <i>

作用

表示由于某种原因(如惯用文本、技术术语、分类名称等)而与正常文本分开的文本范围

属性

只有全局属性

1.40 <iframe>

作用

将另一个html页面嵌套到当前页面

属性

  • allow,指定权限策略,例如访问麦克风,摄像头,电池等
  • allowfullscreen,允许全屏,试验了不管怎样都会全屏
  • height,高度默认150
  • loading,指定iframe的加载方式,立即加载(eager)和懒加载(lazy)
  • name,指定iframe的名字,在a链接中的target属性中使用
  • referrerpolicy,获取iframe资源时,发送的请求的来源地址策略
  • sandbox,控制应用于嵌入在<iframe>中的内容的限制,空值应用所有限制。不设置反而可以执行iframe内下载,设置了无法下载
  • src,被嵌入页面的url
  • srcdoc,直接可写一段语句代码,值为一段html代码
  • width,宽度默认300

应用

<body>
    <iframe  name="ifra" src="http://127.0.0.1:10101" frameborder="0" scrolling="no"
        style="width: 1000px;height: 500px"></iframe>
    <a target="ifra" href="/test/test1.html">iframe中打开链接</a>
</body>

1.41 <img>

作用

在文档中嵌入一个图像

属性

  • alt,定义一个文本,在图像无法显示时,替换它。当为空值时,当图片不加载时,哪个坏的icon也不显示
  • crossorigin,指示是否必须使用跨域请求来获取图像
    • 不指定,请求头Sec-Fetch-Mode:no-cors,不包含Origin。但是请求的图片会被标记为污染,不可再<canvas>使用
    • 指定,请求头Sec-Fetch-Mode:cors,包含Origin
  • decoding,加载图片的方式,默认为auto(浏览器选择同异步)。还有sync(同步),async(异步),三种方式
  • elementtiming,元素后期被观察的一个标识符
  • fetchpriority,获取图像的优先级,默认为auto(浏览器选择高低)。还有high,low,三种方式
  • height,图像的高度,无单位的整数,但写上px似乎浏览器也可以识别(直接写在元素中可以识别,使用js时无法识别自动变为0)
  • ismap,布尔值,表示img为服务端地图的一部分,当点击图片时,图片点击的坐标会在url中发送。前提,img必须包含在a标签里,img设置ismap
  • loading,指定图像加载方式,立即加载(eager)和懒加载(lazy)
  • referrerpolicy,获取图像资源时,发送的请求的来源地址策略
  • sizes,sizes 作用就在于告诉浏览器根据【屏幕尺寸】和【像素密度】的计算值从srcset 中选择最佳的图片源
  • src,图像url,必选项
  • srcset,处理页面在不同像素密度终端设备上对图片的选择性展示
  • width,图像的宽度,无单位的整数,但写上px似乎浏览器也可以识别。(直接写在元素中可以识别,使用js时无法识别自动变为0)
  • usemap,关联一个map元素的name,使单击图片不同位置,链接到不同页面

应用

  • ismap

    <!--当点击图片时url为https://127.0.0.1:5500/test2.html#?366,75-->
    <!--366,75就为图片像素坐标-->
    <a href="#">
        <img ismap src="https://mp-video.myzaker.com/image/201909/5d88874a21c8a234db5b4852.jpeg">
    </a>
    
  • sizes和secset

    <!--sizes格式:媒体条件(作为列表最后一项,必须省略) 资源大小值-->
    <!--(max-width: 320px) 100px,如果视口小于320px,使用100px 乘以像素密度 的图片,在srcset中寻找合适的-->
    
    <!--srcset:图像地址	 宽度描述符W(或像素密度1x 2x等)-->
    <!-- -->
    <img src="../static/images/128.png"
     srcset="../static/images/128.png 350w,
             ../static/images/256.png 750w,
             ../static/images/512.png 900w,
             ../static/images/1024.png 1000w"
    
     sizes="(max-width: 320px) 100px,
            (max-width: 450px) 200px,
            (max-width: 700px) 300px,
            (max-width: 800px) 400px,
            (max-width: 900px) 500px,
            1024px">
    
  • usemap

    <img src="life.png" alt="Life" usemap="#lifemap" width="650" height="451">
    
    <map name="lifemap">
      <area shape="rect" coords="10,208,155,338" alt="Computer" href="airpods.html">
      <area shape="rect" coords="214,65,364,365" alt="Phone" href="iphone.html">
      <area shape="circle" coords="570,291,75" alt="Cup of coffee" href="coffee.html">
    </map>
    

1.42 <input>

作用

表单中为了接受用户数据,创建的交互式控件

属性

  • accept,在type="file"时有效,它定义了在文件上传控件中可选择的文件类型
  • alt,在type="image"时有效,它在图片显示异常时,起替代作用
  • autocapitalize,控制输入的文本是否自动大写
  • autocomplete,不是布尔属性,自动填充的类型
  • autofocus,布尔值,页面加载完成,自动获得焦点。type="hidden"中不适用
  • capture,使用硬件来捕获媒体数据,值为user或environment,分别是前置和后置摄像头(根据系统有差异)
  • checked,只在单选框和多选框中有效。布尔属性,表示在加载页面时被选中的哪一个选框
  • dirname,允许用户在提交表单时,提交表单的方向性(文字书写方向)
  • disabled,布尔属性,表示禁用表单互动
  • form,指定控件和哪个表单关联(值为表单的id),此属性允许将控件放在文档任何位置,不一定在包含在表单里
  • formaction,覆盖form标签中的属性,在type="image"和type=“submit”,中起作用
  • formenctype,覆盖form标签中的属性,在type="image"和type=“submit”,中起作用
  • formmethod,覆盖form标签中的属性,在type="image"和type=“submit”,中起作用
  • formnovalidate,覆盖form标签中的属性,在type="image"和type=“submit”,中起作用
  • formtarget,覆盖form标签中的属性,在type="image"和type=“submit”,中起作用
  • height,要显示图像文件的高度,在type=“image”,中起作用
  • id,元素标识属性
  • inputmode,告诉浏览器在编辑该元素内容时,要使用的虚拟键盘的配置类型。值有8种
  • list,使用该值来绑定datalist标签的id值,来在输入框中显示列表值。部分type类型支持
  • max,对于输入内容有大小的type,设置最大值。对于周期性的时间类,这个最大值比较特殊(最大值可能在下一个周期中)。
  • maxlength,限制字符串的最大长度
  • min,对于输入内容有大小的type,设置最小值。对于周期性的时间类,这个最小值比较特殊(最小值可能在下一个周期中)。
  • minlength,限制字符串的最小长度
  • multiple,布尔属性,若设置,则在邮箱地址中可以用逗号分隔键入多个地址,或在选择文件时选择多个文件。
  • name,表单提交时,值对应的名字。对于单选框,同名字的单选框为一组
  • pattern,定义一个正则表达式,输入的文本类型的要通过表达式约束验证。例如pattern=“[0-9]”
  • placeholder,属性向用户提供了一个简短的提示,说明该字段中期望得到什么样的信息
  • popovertarget,指定弹窗的id,弹窗可以是一个div(但必须有popover属性)
  • popovertargetaction,确定此按钮是打开弹窗(show),还是关闭(hide),还是切换(默认toggle)
  • readonly,布尔值,只读不允许编辑
  • required,布尔值,表示提交表单时该值不能省略
  • size,输入框里有多少字符被显示,也会改变输入框宽度
  • src,在type="image"时有效,指定图片的url
  • step,对于选择性的输入框,决定了内容的步幅。例如<input type="number" min="10" step="2">
  • tabindex,使用tabel键是否获得焦点
  • title,鼠标放上的提示文本
  • type,指定控件被渲染的类型,参见 Input types
  • value,控件的值
  • width,要显示图像文件的高度,在type=“image”,中起作用

应用

  • 调用手机硬件

    <!--照相-->
    <input type="file" capture="user" accept="image/*"/>
    <!--录音-->
    <input type="file" capture="user" accept="audio/*"/>
    <!--摄像-->
    <input type="file" capture="user" accept="video/*"/>
    
  • 提交表单方向名

    <!-- https://127.0.0.1:5500/test.html?fruit=cherry&fruit-dir=ltr -->
    <form action="/test.html" method="get">
        <label>Fruit:<input type="text" name="fruit" dirname="fruit-dir" value="cherry" /></label>
        <input type="submit" />
    </form>
    

1.43 <kbd>

作用

表示来自键盘、语音输入或任何其他文本输入设备的文本用户输入

属性

只有全局属性

应用

1.44 <label>

作用

表示用户界面中项目的标签

  • 单击label文字时,主动定位到相应控件
  • 无障碍时,会阅读label文字

属性

  • for,值为控件的id,根据id来关联。也可以不用for,直接把控件写在label里面

应用

<label>Click me <input type="text" /></label>


<label for="username">Click me to focus on the input field</label>
<input type="text" id="username" />

1.45 <li>

作用

列表项元素,就是代表列表中的列表项目,这个必须包含在ol,ul,menu标签中

属性

  • value,表示列表项的当前序数

应用

1.46 <link>

作用

外部资源链接,指定当前文档和外部文档之间的关系。 典型就是链接样式表和网站图标

属性

  • as,指定加载的内容类型,有助于正确使用安全策略和Accept请求头。只有在rel="preload"(必须存在as),在rel="modulepreload"(可选as)起作用

    • 指定值见MDN
  • crossorigin,表示请求时是否可以跨源

  • fetchpriority,指示预加载资源的优先级

  • href,可以指定相对或绝对的url

  • hreflang,表明了链接资源的语言,这纯粹是建议

  • imagesizes,预加载时提供的img合适的大小

  • imagesrcset,配合imagesizes使用,提供可选的url

  • integrity,告诉浏览器要获取的资源(文件)的base64编码的加密散列,以便验证资源的正确性

  • media,指定链接资源应用的媒体,它的值是一个媒体类型或媒体查询类型。只要用在链接外部样式表,以便浏览器根据设备选择合适的样式

  • referrerpolicy,请求时的referrer策略

  • rel,指定链接文档和当前文档的关系

  • sizes,定义资源中包含的可视媒体图标的大小。在rel为icon或apple-touch-icon时才有效

  • title,当在<link rel="stylesheet">上使用时,它定义了一个默认样式表或替代样式表

  • type,链接到内容的类型,类型应该为MIME类型。样式表中可以省略

应用

  • 媒体查询

    <!--在点开打印窗口时,在打印状态下才加载print样式(注意如需显示背景颜色等,需要打印选项中勾选背景图形)-->
    <link href="print.css" rel="stylesheet" media="print" />
    <!--在屏幕大小小于600时,加载mobile这个样式 -->
    <link  href="mobile.css"  rel="stylesheet"  media="screen and (max-width: 600px)" />
    
  • 网站图标没有加载

    如果网站设置了安全策略,在加载网页时没有加载网页图标,这时需要确认header中Content-Security-Policy: img-src https://example.com/
    是否设置了源地址
    
  • 样式表载入事件

    <script>
      const stylesheet = document.querySelector("#my-stylesheet");
    
      stylesheet.onload = () => {
        // 样式表载入后需要做的事情
      };
    
      stylesheet.onerror = () => {
          // 样式表载入错误后需要做的事情
        console.log("An error occurred loading the stylesheet!");
      };
    </script>
    
    <link rel="stylesheet" href="mystylesheet.css" id="my-stylesheet" />
    

1.47 <main>

作用

文档<body>的主要内容

属性

包含全局属性

应用

1.48<map>

作用

定义一个可点击的映射区域,在img中使用

属性

  • name,给映射一个名字,以便img中引用。该属性必须存在并非空值,并且值唯一。如果还有id属性,则name和id具有相同的值

应用

<!-- Photo by Juliana e Mariana Amorim on Unsplash -->
<map name="primary">
  <area
    shape="circle"
    coords="75,75,75"
    href="https://developer.mozilla.org/docs/Web/JavaScript"
    target="_blank"
    alt="JavaScript" />
  <area
    shape="circle"
    coords="275,75,75"
    href="https://developer.mozilla.org/docs/Web/CSS"
    target="_blank"
    alt="CSS" />
</map>
<img
  usemap="#primary"
  src="parrots.jpg"
  alt="350 x 150 picture of two parrots" />

1.49 <mark>

作用

被标记的文本

属性

全局属性

应用

1.50 <menu>

作用

表示一个无序的项目列表。类似于ul。menu用于交互,ul用于显示

属性

全局属性

应用

<menu>
    <li><button id="save">Save for later</button></li>
    <li><button id="share">Share this news</button></li>
</menu>

1.51 <meta>

作用

元数据

属性

  • charset,声明文档的字符编码
    • 声明字符编码的<meta>元素必须完全位于文档的前1024字节内。
  • content,根据http-equiv的内容,决定需要的内容值
  • http-equiv,
  • name,提供元数据的名称。该名字是一个指定的值standard metadata names

应用

<meta charset="utf-8" />
<!--三秒后重定向-->
<meta http-equiv="refresh" content="3;url=https://www.baidu.com" />

1.52 <meter>

作用

表示已知范围内的标量值,要么表示小数值。

属性

  • value,当前值
  • min,最小值
  • max,最大值
  • low,低值
  • high,高值
  • optimum,最优值
  • form,和form表单id属性相关联

应用

<meter id="fuel" min="0" max="100" low="33" high="66" optimum="80" value="32">at 50/100</meter>

1.53 <nav>

作用

提供一个导航部分

属性

全局属性

应用

1.54 <noscript>

作用

定义了一段HTML,如果页面上的脚本类型不受支持,或者浏览器当前关闭了脚本,则插入该HTML

属性

全局属性

应用

<noscript>
  <!-- anchor linking to external file -->
  <a href="https://www.mozilla.org/">External Link</a>
</noscript>
<p>Rocks!</p>

1.55 <object>

作用

表示一个外部资源,它可以被视为图像、嵌套的浏览上下文或由插件处理的资源。

属性

  • data,数据的url
  • form,关联一个表单元素,该值为表单的id值
  • height,显示资源的高度
  • name,名称
  • type,资源类型
  • usemap,关联一个map元素,值为#mapid
  • width,显示资源的宽度

应用

  • 插入pdf

    <object type="application/pdf" data="/media/examples/In-CC0.pdf" width="250" height="200"></object>
    
  • 插入视频

    <object
      type="video/mp4"
      data="https://interactive-examples.mdn.mozilla.net/media/cc0-videos/flower.webm"
      width="600"
      height="140">
        <!--当视频不显示时,用图片代替-->
      <img src="path/image.jpg" alt="useful image description" />
    </object>
    

1.56 <ol>

作用

有序列表

属性

全局属性

  • reversed,布尔值,排序反序
  • start,列表项开始的序数
  • type,序数的类型。有效值(a,A,i,I,1)

应用

<ol type="A" start="2">
    <li>Mix flour, baking powder, sugar, and salt.</li>
    <li>In another bowl, mix eggs, milk, and oil.</li>
    <li>Stir both mixtures together.</li>
    <li>Fill muffin tray 3/4 full.</li>
    <li>Bake for 20 minutes.</li>
</ol>

1.57 <optgroup>,<option>

作用

  • optgroup,在select元素中创建一个选项分组,此元素不能嵌套
  • option, 在select,optgroup,datalist中表示列表项

属性

  • disabled,此选项组中的任何值,都不会被选中,也不会接收浏览器事件
  • label,选项组的名字,必须的

以下属性只适应option元素

  • selected,初始被选中的列表项
  • value,列表项的值随表单提交,如果没有设置,则从option的文本中取值

应用

<select>
  <optgroup label="Group 1">
    <option>Option 1.1</option>
  </optgroup>
  <optgroup label="Group 2">
    <option>Option 2.1</option>
    <option>Option 2.2</option>
  </optgroup>
  <optgroup label="Group 3" disabled>
    <option>Option 3.1</option>
    <option>Option 3.2</option>
    <option>Option 3.3</option>
  </optgroup>
</select>

1.58 <output>

作用

可以显示计算结果或用户操作的结果

属性

全局属性

  • for,其他元素id的列表,表明这个结果由哪些元素提供的参数值
  • form,关联一个表单元素,值为表单元素的id
  • name,元素的名称

应用

<form oninput="result.value=parseInt(a.value)+parseInt(b.value)">
  <input type="range" id="b" name="b" value="50" /> +
  <input type="number" id="a" name="a" value="10" /> =
  <output name="result" for="a b">60</output>
</form>

1.59 <p>

作用

表明这是一个段落

属性

全局属性

  • for,其他元素id的列表,表明这个结果由哪些元素提供的参数值
  • form,关联一个表单元素,值为表单元素的id
  • name,元素的名称

应用

1.60 <picture>

作用

元素包含零个或多个<source>元素和一个<img>元素,为不同的显示/设备场景提供图像的替代版本

首先在source中选择最匹配的图片,若没有匹配的,则显示img元素的图片

属性

全局属性

  • for,其他元素id的列表,表明这个结果由哪些元素提供的参数值
  • form,关联一个表单元素,值为表单元素的id
  • name,元素的名称

应用

  • 媒体属性

    <picture>
      <source srcset="mdn-logo-wide.png" media="(min-width: 600px)" />
      <img src="mdn-logo-narrow.png" alt="MDN" />
    </picture>
    

1.61 <pre>

作用

该元素包裹的文本,完全按照html书写的格式进行显示

属性

全局属性

应用

<pre>
let i = 5;

if (i &lt; 10 &amp;&amp; i &gt; 0)
  return &quot;Single Digit Number&quot;
</pre>

1.62 <progress>

作用

进度条元素

属性

全局属性

  • max,表示进度条的最大值,默认为1
  • value,表示进度条的当前值

应用

  • 例子

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

1.63 <q>

作用

表示一个短引用

属性

全局属性

  • cite,指定引用信息的源文档

应用

<p>
  According to Mozilla's website,
  <q cite="https://www.mozilla.org/en-US/about/history/details/">
    Firefox 1.0 was released in 2004 and became a big success.
  </q>
</p>

1.64 <rp>,<rt>,<ruby>

作用

  • rp,在浏览器不支持ruby元素时,显示它包围的内容(如括号)
  • rt,包裹 一个发音
  • ruby,呈现在基本文本上方、下方或旁边的小注释,通常用来表示发音

属性

全局属性

应用

  • 浏览器不支持ruby

    <ruby><rp>(</rp><rt>wen</rt><rp>)</rp><rp>(</rp><rt>zi</rt><rp>)</rp> </ruby>
    
    <!--浏览器支持ruby,显示为汉字上面有拼音-->
    <!--浏览器不支持ruby,显示为"文 (wen) 字 (zi)"-->
    

1.65 <s>

作用

删除线元素

属性

全局属性

应用

1.66 <samp>

作用

用于将内联文本括起来,这些文本表示计算机程序的示例(或引号)输出

属性

全局属性

应用

1.67 <script>

作用

用于嵌入可执行代码或数据;这通常用于嵌入或引用JavaScript代码

属性

  • async,异步加载脚本资源
  • crossorigin,是否跨源
  • defer,表明脚本在文档解析之后执行
  • fetchpriority,请求的优先级
  • integrity,资源完整性校验,校验base64加密验证
  • nomodule,这个布尔值,表明脚本不应该在支持ES模块的浏览器中执行,实际上,这可以用来为不支持模块化JavaScript代码的旧浏览器提供回退脚本
  • nonce,允许脚本在script-src Content-Security-Policy中使用的加密nonce(一次使用的数字)
  • referrerpolicy,引用源策略
  • src,外部资源的url
  • type,脚本的类型,

应用

1.68 <search>

作用

语义上将元素内容的目的标识为具有搜索或过滤功能

属性

全局属性

应用

<header>
  <h1>Movie website</h1>
  <search>
    <form action="./search/">
      <label for="movie">Find a Movie</label>
      <input type="search" id="movie" name="q" />
      <button type="submit">Search</button>
    </form>
  </search>
</header>

1.69 <section>

作用

表示文档的通用独立部分,它没有更具体的语义元素来表示它。可以翻译为章节

属性

全局属性

应用

<section>
  <h2>Heading</h2>
  <p>Bunch of awesome content</p>
</section>

1.70 <select>

作用

表示一个提供选项菜单的控件

属性

  • autocomplete,布尔属性,自动填充
  • autofocus,布尔属性,自动获得焦点。文档中,只有一个元素可以具有
  • disabled,布尔属性,禁止交互
  • form,将控件关联到form中,值为form的id
  • multiple,表示可以多选,默认为单选。下拉框会变成滚动列表框
  • name,控件的名字,用于提交数据时数据的名字
  • required,布尔值,表示表单不能为空,必须选择
  • size,当为多选时,设置滚动列表框显示的行数

应用

<select name="choice">
  <option value="first">First Value</option>
  <option value="second" selected>Second Value</option>
  <option value="third">Third Value</option>
</select>

1.71 <slot>

作用

web组件插槽

属性

全局属性

  • name,插槽的名字

应用

有待于进一步探究

1.72 <small>

作用

表示一些附带次要的说明,如版权和法律文本

属性

全局属性

应用

<p>
  This is the first sentence.
  <small>This whole sentence is in small letters.</small>
</p>

1.73 <source>

作用

<picture><audio><video>元素指定一个或多个媒体资源。没有内容且不需要结束标记

属性

  • type,MIME类型或其它媒体类型
  • src,资源的url。对于<audio><video>是必须的,对于<picture>是不需要的
  • srcset,资源的url。与src相反,对于<audio><video>是不需要的,对于<picture>是必须的
  • sizes,列表资源中最终渲染的图像宽度,对于<audio><video>是不需要的,对于<picture>是允许的
  • media,媒体查询
  • height,指定图像加载高度,为无单位的整数。在父元素为<picture>时有效
  • width,指定图像加载宽度,为无单位的整数。在父元素为<picture>时有效

应用

  • video的type属性

    <video controls>
      <source src="foo.webm" type="video/webm" />
      <source src="foo.ogg" type="video/ogg" />
      <source src="foo.mov" type="video/quicktime" />
      I'm sorry; your browser doesn't support HTML video.
    </video>
    
  • video的media属性

    <video controls>
      <source src="foo-large.webm" media="(min-width: 800px)" />
      <source src="foo.webm" />
      I'm sorry; your browser doesn't support HTML video.
    </video>
    
  • picture的media属性

    <picture>
      <source srcset="mdn-logo-wide.png" media="(min-width: 800px)" />
      <source srcset="mdn-logo-medium.png" media="(min-width: 600px)" />
      <img src="mdn-logo-narrow.png" alt="MDN Web Docs" />
    </picture>
    
  • picture的height和width属性

    <picture>
      <source
        srcset="landscape.png"
        media="(min-width: 1000px)"
        width="1000"
        height="400" />
      <source
        srcset="square.png"
        media="(min-width: 800px)"
        width="800"
        height="800" />
      <source
        srcset="portrait.png"
        media="(min-width: 600px)"
        width="600"
        height="800" />
      <img
        src="fallback.png"
        alt="Image used when the browser does not support the sources"
        width="500"
        height="400" />
    </picture>
    

1.74 <span>

作用

表示一个内联的容器,不代表任何东西。用于对元素进行分组,以便应用样式

属性

全局属性

应用

<p><span>Some text</span></p>

1.75 <strong>

作用

表示其内容具有重要性,严肃性或紧迫性

属性

全局属性

应用

1.76 <style>

作用

用于书写本文档的css样式

属性

全局属性

  • media,表示将属性应用于哪个媒体(print,screen或all)

  • nonce,

  • title,表示一个可选样式表集

    应用

  • 包含媒体查询的

    <!-- 表示宽度小于500时应用样式-->
    <style media="all and (max-width: 500px)">
      p {
        color: blue;
        background-color: yellow;
      }
    </style>
    

1.77 <sub>,<sup>

作用

通常用来显示下标

属性

全局属性

应用

  • 化学式

    <p>
      C<sub>8</sub>H<sub>10</sub>N<sub>4</sub>O<sub>2</sub>
    </p>
    

    显示:C8H10N4O2

  • 地方

    <p>
      <var>a<sup>2</sup></var>
    </p>
    

    显示:a2

1.78 <table>,<thead>,<tbody>,<tfoot>,<td>,<th>,<tr>

作用

  • table,表示一个表格

  • thead,定义了表头

  • tbody,表格的主体部分,一个表格可以有多个

  • tfoot,定义了表格中的汇总行

  • td,定义了一个数据单元格

  • th,定义了一个标题单元格

  • tr,定义了一行单元格

    属性

td中的属性

  • colspan,指示单元格被扩展了多少列,默认为1
  • headers,该属性包含一个空格分隔的字符串列表,每个字符串对应于应用于该元素的<th>元素的id属性
  • rowspan,指示单元格扩展了多少行。默认值为1。0为扩展所有行

th中的属性

  • abbr,此属性包含单元格内容的简短描述

  • colspan,指示单元格被扩展了多少列,默认为1

  • headers,该属性包含一个空格分隔的字符串列表,每个字符串对应于应用于该元素的<th>元素的id属性

  • rowspan,指示单元格扩展了多少行。默认值为1。0为扩展所有行

  • scope,可以将数据单元格与表头单元格联系起来,属性在普通的网络浏览器中没有视觉效果,但可以被屏幕阅读器使用

    应用

  • 表格排序

    <table>
      <tbody>
        <tr>
          <td>3</td>
        </tr>
        <tr>
          <td>2</td>
        </tr>
        <tr>
          <td>1</td>
        </tr>
      </tbody>
    </table>
    
    
    <script>
        //给原型中添加一个sort函数,该函数排序并遍历操作
        HTMLTableSectionElement.prototype.sort = function (cb) {
            Array.from(this.rows)
                .sort(cb)
                .forEach((e) => this.appendChild(this.removeChild(e)));
        };
    	
    	//选中元素,调用排序函数
        document
            .querySelector("table")
            .tBodies[0].sort((a, b) => a.textContent.localeCompare(b.textContent));
    
    </script>
    
  • 通过单击表头来排序

    <table>
      <thead>
        <tr>
          <th>Numbers</th>
          <th>Letters</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>3</td>
          <td>A</td>
        </tr>
        <tr>
          <td>2</td>
          <td>B</td>
        </tr>
        <tr>
          <td>1</td>
          <td>C</td>
        </tr>
      </tbody>
    </table>
    
    const table = document.querySelector("table");//得到表格元素
    
    const tBody = table.tBodies[0];//得到tbody元素 
    const rows = Array.from(tBody.rows);//得到tbody的行,并转换成数组
    const headerCells = table.tHead.rows[0].cells;//得到header单元格的集合
    
    for (const th of headerCells) {
        //单元格索引,其实就是列,排序时要按这个列来排序
        const cellIndex = th.cellIndex;
    
        th.addEventListener("click", () => {
            rows.sort((tr1, tr2) => {
                const tr1Text = tr1.cells[cellIndex].textContent;
                const tr2Text = tr2.cells[cellIndex].textContent;
                return tr1Text.localeCompare(tr2Text);
            });
    
            tBody.append(...rows);
        });
    }
    
  • 可滚动的表格

    <table>
        <thead>
            <tr>
                <th>Numbers</th>
                <th>Letters</th>
                <th>Letters1</th>
                <th>Letters2</th>
                <th>Letters3</th>
                <th>Letters4</th>
                <th>Letters5</th>
                <th>Letters6</th>
            </tr>
        </thead>
        <tbody>
            <tr>
                <td>3</td>
                <td>A</td>
                <td>A</td>
                <td>A</td>
                <td>A</td>
                <td>A</td>
                <td>A</td>
                <td>A</td>
            </tr>
            <tr>
                <td>2</td>
                <td>B</td>
                <td>B</td>
                <td>B</td>
                <td>B</td>
                <td>B</td>
                <td>B</td>
                <td>B</td>
            </tr>
        </tbody>
    </table>
    
    <style>
        table,
        th,
        td {
            border: 1px solid;
        }
    
        table {
            width: 100%;
            max-width: 400px;
            height: 240px;
            margin: 0 auto;
            display: block;
            overflow-x: auto;
            border-spacing: 0;
        }
    
        tbody {
            white-space: nowrap;
        }
    
        th,
        td {
            padding: 5px 10px;
            border-top-width: 0;
            border-left-width: 0;
        }
    
        th {
            position: sticky;
            top: 0;
            background: #fff;
            vertical-align: bottom;
        }
    
        th:last-child,
        td:last-child {
            border-right-width: 0;
        }
    
        tr:last-child td {
            border-bottom-width: 0;
        }
    </style>	
    

1.79 <template>

作用

是一种保存HTML的机制,它不会在加载页面时立即呈现,但可以在随后的运行期间使用JavaScript实例化

属性

全局属性

应用

<table id="producttable">
    <thead>
        <tr>
            <td>UPC_Code</td>
            <td>Product_Name</td>
        </tr>
    </thead>
    <tbody>
        <!-- existing data could optionally be included here -->
    </tbody>
</table>

<template id="productrow">
    <tr>
        <td class="record"></td>
        <td></td>
    </tr>
</template>
// 检测是否支持模板
// 模板元素具有content属性
if ("content" in document.createElement("template")) {

    const tbody = document.querySelector("tbody");
    const template = document.querySelector("#productrow");

    // 添加新行
    const clone = template.content.cloneNode(true);
    let td = clone.querySelectorAll("td");
    td[0].textContent = "1235646565";
    td[1].textContent = "Stuff";

    tbody.appendChild(clone);

    // 添加新行
    const clone2 = template.content.cloneNode(true);
    td = clone2.querySelectorAll("td");
    td[0].textContent = "0384928528";
    td[1].textContent = "Acme Kidney Beans 2";

    tbody.appendChild(clone2);
} else {
    // 不支持模板的话,使用另一种方式
}

1.80 <textarea>

作用

表示一个多行纯文本编辑控件

属性

  • autocapitalize,是否自动大写

  • autocomplete,浏览器可以根据用户在以前的使用中输入的值自动完成该值

  • autofocus,指定表单控件在页面加载时应该具有输入焦点

  • cols,文本控件的可见宽度,默认值为20

  • dirname,指示元素内容的文本方向性

  • disabled,布尔属性指示用户不能与控件交互

  • form,关联的表单元素,值为表单的id

  • maxlength,用户可以输入的最大字符串长度(以UTF-16码单位测量)。如果未指定此值,则用户可以输入无限数量的字符

  • minlength,用户需要输入的最小字符串长度(以UTF-16码单位测量)。

  • name,控件的名称

  • placeholder,占位符,提示用户可以在控件中输入什么内容

  • readonly,只读控件

  • required,指定用户在提交表单之前必须填写一个值

  • rows,控件的可见文本行数

  • spellcheck,是否拼写检查

  • wrap,指示控件应如何包裹用于表单提交的值

    • hard,控件里面文本会自动换行,但提交表单时有换行符,必须值得顶cols属性才有效
    • soft,控件里面文本会自动换行,但提交表单时无换行符,必须值得顶cols属性才有效
    • off,不会自动换行

    应用

  • 禁用大小调整

    textarea{
        resize: none;
    }
    
  • 值的合法与非法

    /*合法和非法的值,可以使用伪类来高亮显示*/
    /*合法和非法的条件是minlength, maxlength之内, or required*/
    textarea:invalid {
      border: 2px dashed red;
    }
    
    textarea:valid {
      border: 2px solid lime;
    }
    

1.81 <time>

作用

表示一个特定的时间段

属性

datetime,机器可读的时间,具体格式固定

应用

1.82 <title>

作用

显示在浏览器标题栏或页面选项卡中的文档标题,<title>元素总是在页面的<head>块中使用

属性

全局属性

应用

1.83 <track>

作用

用作<audio><video>的子元素。它允许您指定定时文本轨迹(或基于时间的数据),例如字幕。音轨格式为WebVTT格式(.vtt文件)

属性

  • default,默认开启字幕。不需手动开启

  • kind,如何使用文本轨道。如果省略,则默认类型为字幕

  • label,字幕文本轨道在播放器中显示的名字

  • src,轨道地址(.vtt文件)。必须是有效的URL。必须指定此属性

  • srclang,字母语言。如果将kind属性设置为字幕,则必须定义srclang

    应用

<video controls poster="/images/sample.gif">
  <source src="sample.mp4" type="video/mp4" />
  <source src="sample.ogv" type="video/ogv" />
  <track kind="captions" src="sampleCaptions.vtt" srclang="en" />
  <track kind="descriptions" src="sampleDescriptions.vtt" srclang="en" />
  <track kind="chapters" src="sampleChapters.vtt" srclang="en" />
  <track kind="subtitles" src="sampleSubtitles_de.vtt" srclang="de" />
  <track kind="subtitles" src="sampleSubtitles_en.vtt" srclang="en" />
  <track kind="subtitles" src="sampleSubtitles_ja.vtt" srclang="ja" />
  <track kind="subtitles" src="sampleSubtitles_oz.vtt" srclang="oz" />
  <track kind="metadata" src="keyStage1.vtt" srclang="en" label="Key Stage 1" />
  <track kind="metadata" src="keyStage2.vtt" srclang="en" label="Key Stage 2" />
  <track kind="metadata" src="keyStage3.vtt" srclang="en" label="Key Stage 3" />
  <!-- Fallback --></video>

1.84 <u>

作用

表示一个内联文本的跨度。用于拼写错误的提示

属性

全局属性

应用

提示文字拼写错误

 <style>
    .spelling {
        text-decoration: red wavy underline;
    }
</style>
<p>This paragraph includes a <u class="spelling">wrnosdf</u> spelled word.</p>

1.85 <ul>

作用

表示一个无序的项目列表,通常呈现为项目符号列表

属性

全局属性

应用

1.86 <var>

作用

表示数学表达式或编程上下文中变量的名称

属性

全局属性

应用

<p>A simple equation: <var>x</var> = <var>y</var> + 2</p>
输出:A simple equation: x = y + 2

1.87 <video>

作用

文档中嵌入了一个支持视频播放的媒体播放器

属性

  • autoplay,自动播放,在chrome浏览器中没静音时,无法自动播放

  • controls,提供操作视频的控件

  • crossorigin,跨源请求的设置

  • disableremoteplayback,布尔值,用于在使用有线(HDMI, DVI等)和无线技术(Miracast, Chromecast, DLNA, AirPlay等)连接的设备中禁用远程播放功能

  • height,视频区域显示高度

  • loop,循环播放

  • muted,静音

  • playsinline,一个布尔属性,指示视频将“内联”播放,即在元素的播放区域内。注意,没有这个属性并不意味着视频总是全屏播放

  • poster,海报。在视频加载前显示的图像,未指定时,为视频第一帧

  • preload,预加载,关于在播放视频之前加载哪些内容

  • src,要嵌入的视频的URL。这是可选的;您可以使用视频块中的<source>元素来指定要嵌入的视频

  • width,视频区域显示宽度

    应用

  • 浏览器不支持播放视频

    <video controls width="500" height="300" src="https://media.w3.org/2010/05/sintel/trailer.mp4">
    对不起浏览器不支持,请单击<a href="">这里</a>
    </video>
    

1.88 <wbr>

作用

文本区域显示不下,需要换行时,是由wbr标记处换行

Word Break Opportunity(单词换行时机)

表示断行时机——在文本中浏览器可以选择断行的位置,尽管它的断行规则不会在该位置创建断行

和css的word-wrap: break-word;类似(这个是由空格处换行)

属性

全局属性

应用

如果单词太长,或者您担心浏览器会在错误的位置换行,那么您可以使用

<style>
    .div1{
        width: 50px;
        background-color: aqua;

    }
    .div2{
        width: 50px;
        background-color: red;
        word-wrap: break-word;
    }
</style>
</head>

<body>
    <div class="div1">my<wbr>name<wbr>is<wbr>Jack</div>
    <div class="div2">my name is Jack</div>
</body>

二、全局属性

2.1 accesskey

作用

为当前元素生成键盘快捷方式的操作,具体组合键根据平台和浏览器的不同而不同,chrome是alt+key

应用

<!--使用alt+s来操作按钮-->
<button accesskey="s">点击</button>

2.2 autocapitalize

作用

它控制输入的文本是否自动大写,如果是,以何种方式大写

枚举值

  • none或off,不要自动大写任何文本
  • sentences或on,自动大写每个句子的第一个字符
  • word,自动大写每个单词的第一个字符
  • characters,自动大写每个字符

应用

测试没有效果

2.3 autofocus

作用

是一个布尔属性,指示元素应该在页面加载时聚焦,或者当它所属的<dialog>显示时聚焦

应用

<input name="q" autofocus />

2.4 class

作用

大小写敏感,用空格分隔的列表。主要功能是允许css或js来选择和访问该元素

应用

<p class="note">一段文本</p>

2.5 contenteditable

作用

内容是否可编辑

如果该属性缺失或其值无效,则其值继承自其父元素

枚举值

  • true或空,表示元素是可编辑的,支持富文本,粘贴一段网页可以显示样式效果
  • false,表示元素是不可编辑的
  • plaintext-only,自动大写每个单词的第一个字符,不支持富文本,粘贴一段网页只显示文本

应用

<p contenteditable="true">可编辑,支持富文本</p>
<p contenteditable="plaintext-only">可编辑,不支持富文本</p>

2.6 data-*

作用

自定义数据属性

它允许通过脚本在HTML和DOM表示之间交换专有信息

应用

<p class="sp" data-name="文本" data-my-age="18">我是一段文本</p>
<script>
    var sp = document.querySelector('.sp')
    console.log(sp.getAttribute('data-name'))//文本
    console.log(sp.dataset.name,sp.dataset.myAge)//文本 18
</script>

2.7 dir

作用

指示元素文本的方向性

枚举值

  • ltr,用于从左向右书写的语言
  • rtl,用于从右向左书写的语言
  • auto,浏览器自己决定

应用

2.8 draggable

作用

是否可以拖动元素

枚举值

  • true,可以拖动
  • false,不可以拖动

应用

<!--默认可拖动元素-->
<!--设置后,失去原本单击拖动功能。鼠标选择元素后仍然可以拖动,不解-->
<p draggable="false">这是一段将被选择的文本</p>
<img draggable="false" src="/pinyinw.png" alt="">
<a draggable="false" href="">这是一个将被拖动的链接</a>

2.9 enterkeyhint

作用

它定义了为虚拟键盘上的输入键呈现的操作标签(或图标)

如果没有提供enterkeyhint属性,用户代理可能会使用来自inputmode、type或pattern属性的上下文信息来显示合适的输入键标签(或图标)

枚举值

  • enter,通常是插入一行,图标显示为回车
  • done,通常意味着没有更多的输入,输入法编辑器(IME)将被关闭,图标实现Done
  • go,通常意味着将用户带到他们输入的文本的目标,图标为Open
  • next,通常将用户带到下一个接受文本的字段,图标为Next
  • previous,通常将用户带到前一个接受文本的字段,图标为Previous
  • search,通常将用户带到搜索他们键入的文本的结果,图标为Search
  • send,通常是将文本传递给目标,图标为Send

应用

<!-- 主要是输入法右下角图标 -->
<!-- 测试为回车 -->
<input placeholder="enter" type="text" enterkeyhint="enter">
<!-- 测试为回车 -->
<input placeholder="done" type="text" enterkeyhint="done">
<!-- 测试为回车 -->
<input placeholder="go" type="text" enterkeyhint="go">
<!-- 测试为开始 -->
<input placeholder="next" type="text" enterkeyhint="next">
<!-- 测试为下一步 -->
<input placeholder="previous" type="text" enterkeyhint="previous">
<!-- 测试为回车 -->
<input placeholder="search" type="text" enterkeyhint="search">
<!-- 测试为搜索 -->
<input placeholder="send" type="text" enterkeyhint="send">
<!-- 测试为开始 -->
<input placeholder="" type="text" >

2.10 exportparts

作用

到处影子树中的dom,使常规dom选择器可以访问

影子树是一个孤立的结构,其中属于常规DOM的选择器或查询无法访问标识符、类和样式。

在每个映射中,第一个字符串指定阴影树中部件的名称,第二个字符串指定部件将对外公开的名称

应用

<template id="ancestor-component">
  <nested-component
    exportparts="part1:exposed1, part2:exposed2"></nested-component>
</template>

2.11 hidden

作用

指示浏览器不应该呈现元素的内容

枚举值

  • 空串,设置为隐藏状态
  • hidden,设置为隐藏状态
  • until-found,元素是隐藏的,但它的内容可以被浏览器的“find In page”功能或片段导航访问。测试时只隐藏内容,样式没有隐藏

应用

<a href="#until-found-box">Go to hidden content</a>

<div>I'm not hidden</div>
<div id="until-found-box" hidden="until-found">Hidden until found</div>
<div>I'm not hidden</div>

css

div {
  height: 40px;
  width: 300px;
  border: 5px dashed black;
  margin: 1rem 0;
  padding: 1rem;
  font-size: 2rem;
}

div#until-found-box {
  color: red;
  border: 5px dotted red;
  background-color: lightgray;
}

js

const untilFound = document.querySelector("#until-found-box");
untilFound.addEventListener(
  "beforematch",
  () => (untilFound.textContent = "I've been revealed!"),
);	

2.12 id

作用

元素唯一标识符

应用

2.13 inert

作用

惰性标识符

  • 防止用户单击元素时,触发单击事件
  • 阻止元素获得焦点来防止引发焦点事件
  • 通过将元素及其内容从可访问性树中排除来对辅助技术隐藏它们

惰性属性可以添加到不应该交互的内容部分。当一个元素处于惰性状态时,它和该元素的所有后代(包括通常的交互元素,如链接、按钮和表单控件)都将被禁用,因为它们无法接收焦点或被单击

应用

  • body中的内容都无法被操作

    <body inert>
      <!-- content -->
    </body>
    

2.14 inputmode

作用

提示用户在编辑元素或其内容时可能输入的数据类型。这允许浏览器显示适当的虚拟键盘

枚举值

  • none,单击输入框时,页面不弹出虚拟键盘,可以自定义键盘
  • text,标准输入键盘
  • decimal,小数输入键盘,包含数字和小数点
  • numeric,数字键盘
  • tel,为电话而优化的键盘
  • search,为搜寻而优化的键盘
  • email,为邮件而优化的键盘
  • url,为网络地址而优化的键盘

应用

2.15 is

作用

让一个标准的html元素,表现的像一个自定义元素一样

应用

<body>
    <p is="word-count"></p>
</body>
<script>
    // 创建一个元素的类
    class WordCount extends HTMLParagraphElement {
        constructor() {
            super();
        }
    }
    // 定义一个新元素
    customElements.define("word-count", WordCount, { extends: "p" });
</script>

2.16 itemid,itemprop,itemref,itemscop,itemtype

作用

为表单提供微数据

每个HTML元素都可以指定一个itemscope属性。没有关联项类型的itemscope元素必须有关联项ref

  • itemid,属性只能为同时具有itemscope和itemtype属性的元素指定
  • itemprop,给项目添加一个属性,为键值对。值为元素内容。若为a标签则是href,为img元素则为src
  • itemref,在结构上不用嵌套,使用这个属性可以去关联,值为id值
  • itemscop,布尔属性,定义了关联源数据库的范围
  • itemtype,指定了一个url,将用于在数据结构中定义itemprop(项目属性)的词汇表

应用

  • 表示一本书的结构化数据

    <dl
      itemscope
      itemtype="https://schema.org/Book"
      itemid="urn:isbn:0-374-22848-5<">
      <dt>Title</dt>
      <dd itemprop="title">Owls of the Eastern Ice</dd>
      <dt>Author</dt>
      <dd itemprop="author">Jonathan C Slaght</dd>
      <dt>Publication date</dt>
      <dd>
        <time itemprop="datePublished" datetime="2020-08-04">August 4 2020</time>
      </dd>
    </dl>
    

2.17 lang

作用

帮助定义元素的语言

即使设置了lang属性,也可能不会考虑到它,因为xml:lang属性具有优先级

应用

2.18 nonce

作用

定义加密nonce(“使用一次的数字”)的内容属性

应用

2.19 part

作用

包含元素的部件名称的空格分隔列表

部件名允许CSS通过::Part伪元素在阴影树中选择和设置特定的元素样式

应用

2.20 popover

作用

指定一个元素作为弹出框

枚举值

  • auto,默认值,通过单击弹出框外区域可以关闭,通常只允许一个弹出框
  • munual,必须显式关闭,弹框可以嵌套

应用

<button popovertarget="my-popover">Open Popover</button>

<div popover id="my-popover">Greetings, one and all!</div>

2.21 slot

作用

具有slot属性的元素被分配给由<slot>元素创建的槽,该元素的name属性的值与该slot属性的值匹配

应用

2.22 spellcheck

作用

是一个枚举属性,它定义是否可以检查元素的拼写错误

这个属性仅仅是对浏览器的一个提示:浏览器不需要检查拼写错误

枚举值

  • 空串或true,这表明如果可能的话,应该检查元素是否有拼写错误
  • false,不应检查元素的拼写错误

应用

2.23 style

作用

包含应用于元素的CSS样式声明

应用

2.24 tabindex

作用

允许开发人员使HTML元素可聚焦,允许或阻止它们顺序聚焦(通常使用Tab键,因此得名),并确定它们的顺序焦点导航的相对顺序

应用

值为数字,代表按tab键,焦点的移动顺序

负值(确切的负值实际上并不重要,通常tabindex=“-1”)意味着不能通过顺序键盘导航访问该元素

2.25 title

作用

表示与其所属元素相关的咨询信息的文本

应用

title属性的主要用途是为辅助技术标记<iframe>元素

title属性还可以用于标记数据表中的控件

  • title可以被继承

    <div title="CoolTip">
      <p>Hovering here will show "CoolTip".</p>
      <p title="">Hovering here will show nothing.</p>
    </div>
    

2.26 translate

作用

是一个枚举属性,用于指定在页面本地化时是否应该翻译元素的可翻译属性值及其Text节点子节点,还是保持不变。

枚举值

  • 空串或yes,在页面本地化时应该对元素进行翻译。
  • no,表明该元素不能被翻译

应用

<!-- 在整页翻译时,不翻译为no的元素 -->
<p> this id my desk</p>
<p translate="no"> this id my desk</p>

三、指南

3.1 内容分类

显示各种内容类别相互之间是如何关联的维恩图。后面的部分以文本形式解释这些关系。

3.2 块级元素

参与块布局的元素叫做块级元素

块布局特性

  • 盒子从包含块顶部,一个接一个垂直排列(writing-mode将影响其排列)
  • 每个盒子左边和包含块左边对齐
  • 块级元素总是由新的一行开始
  • 水平方向,占据包含块的全部水平空间
  • 高度为它的内容高度

3.3 内联元素

参与内联布局的元素叫做内联元素

3.4 怪异模式和标准模式

  • 怪异模式

    在怪癖模式下,布局模拟Navigator 4和Internet Explorer 5中的行为。为了支持在广泛采用网络标准之前建立的网站,这是必不可少的

  • 有限怪异模式

    在无怪癖模式下,行为(希望)是现代HTML和CSS规范所描述的期望行为

  • 无怪异模式(标准模式)

    在限制怪癖模式中,只实现了非常少量的怪癖。

在浏览器文档开头添加<!DOCTYPE html>代表标准模式

判断是否是怪异模式document.compatMode,值为BackCompat为怪异模式,值为CSS1Compat为标准模式

3.5 HTML日期和时间格式

都是字符串字面量

3.5.1 星期

一个有效的星期字符串由以下部分组成:一个有效的年份,后跟一个连字符("-“或U+002D),然后是大写字母"W” (U+0057),后面是年份值的两位星期

示例:‘2019-w34’

第一个星期定义:包含一年的第一个星期四的哪一个星期

  • 一年有53个星期的条件
    • 一年的第一天是星期四
    • 一年的第一天是星期三,这一年是闰年

3.5.2 月

月份指的是,月和年的组合

一个有效的月份字符串包含一个有效的年份(至少四位数字的字符串),后跟一个连字符("-"或U+002D),再后跟一个两位数字的月份

示例:2019-01

3.5.3 日期

一个有效的日期字符串包含一个月字符串,后面跟着一个连字符("-"或U+002D),后面跟着一个两位数的月号。

示例:1993-11-01

3.5.4 时间

一个有效的时间字符串至少包含两个数字的小时,后面跟着一个冒号(“:”,U+003A),然后是两个数字的分钟。分钟后面可以任意后跟另一个冒号和两位数的秒数。可以通过添加一个小数点字符(“.”,U+002E)后跟一个、两个或三个数字来指定毫秒

示例:00:00:30.75,12:15,13:44:25

3.5.5 本地日期和时间

一个有效的datetime-local字符串由一个日期字符串和一个时间字符串组成,用字母“T”或空格字符分隔它们。字符串中不包含有关时区的信息;日期和时间假定在用户的本地时区

示例:1986-01-28T11:38:00.010,或1986-01-28 11:38:00.010

3.5.6 全局日期和时间

有效的全局日期和时间字符串的格式与本地日期和时间字符串相同,只是它在时间后面的末尾附加了一个时区字符串

表示偏移量的符号:本初子午线以东的时区用加号(“+”,或U+002B),本初子午线以西的时区用减号(“-”,或U+002D)

示例:2005-06-07T00:00Z,1789-08-22T12:30:00.1-04:00,3755-01-01 00:00+10:00

3.6 约束验证

3.6.1 固有基本约束

  • 使用input元素的type属性来约束
  • 使用其他属性来约束(例如,pattern,min,max,required,step,minlength,maxlength)

3.6.2 约束验证处理

  • 检查约束的方法checkValidity()返回布尔值
  • 报告约束的方法reportValidity(),也返回布尔值

3.6.3 使用约束验证API的复杂验证

在一些表单字段事件(如onchange)上触发JavaScript来计算是否违反了约束

field.setCustomValidity(“文本")来设置约束提示的文本

3.6.4 约束验证的视觉样式

  • 伪类,:required,有required属性的选中
  • 伪类,:optional,没required属性的选中
  • 伪类,:valid,数据有效时选中
  • 伪类,:invalid,数据无效时选中

3.7 微数据

用于在网页上的现有内容中嵌套元数据

搜索引擎和网络爬虫可以从网页中提取和处理微数据,并利用它为用户提供更丰富的浏览体验

<div itemscope itemtype="https://schema.org/SoftwareApplication">
  <span itemprop="name">Angry Birds</span> - REQUIRES
  <span itemprop="operatingSystem">ANDROID</span><br />
  <link
    itemprop="applicationCategory"
    href="https://schema.org/SoftwareApplication" />

  <div
    itemprop="aggregateRating"
    itemscope
    itemtype="https://schema.org/AggregateRating">
    RATING:
    <span itemprop="ratingValue">4.6</span> (
    <span itemprop="ratingCount">8864</span> ratings )
  </div>

  <div itemprop="offers" itemscope itemtype="https://schema.org/Offer">
    Price: $<span itemprop="price">1.00</span>
    <meta itemprop="priceCurrency" content="USD" />
  </div>
</div>

3.8 微格式

3.9 视口源标签

<meta name="viewport" content="width=device-width, initial-scale=1" />

  • width,控制视窗的大小。它可以设置为特定的像素数,如width=600或特殊值device-width,即100vw,或视口宽度的100%。最低:1。最大:10000。负值:忽略。
  • height,控制视窗的大小。它可以设置为特定的像素数,如height=400或特殊值device-height,即100vh,或视口高度的100%。最低:1。最大:10000。负值:忽略。
  • initial-scale,控制页面首次加载时的缩放级别。最低:0.1。最大:10。默认值:1。负值:忽略
  • minimum-scale,控制页面上允许缩小的程度。最低:0.1。最大:10。默认值:0.1。负值:忽略
  • maximum-scale,控制页面上允许的放大程度。任何小于3的值都将导致访问失败。最低:0.1。最大:10。默认值:10。负值:忽略。
  • user-scalable,控制是否允许在页面上放大和缩小操作。取值范围:0、1、yes、no。默认值:1,与yes相同。将该值设置为0(与no相同)
  • interactive-widget,指定交互式UI小部件(如虚拟键盘)在页面视图上的效果。有效值:resizes-visual、resizes-content或overlays-content。默认值:resizes-visual。

3.10 允许跨域使用image和canvas

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/375614.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Visual Studio 2010+C#实现信源和信息熵

1. 设计要求 以图形界面的方式设计一套程序&#xff0c;该程序可以实现以下功能&#xff1a; 从输入框输入单个或多个概率&#xff0c;然后使用者可以通过相关按钮的点击求解相应的对数&#xff0c;自信息以及信息熵程序要能够实现马尔可夫信源转移概率矩阵的输入并且可以计算…

【DDD】学习笔记-服务资源模型

在软件领域中&#xff0c;使用最频繁的词语之一就是“服务”。在领域驱动设计中&#xff0c;也有领域服务、应用服务之分。通常&#xff0c;一个对象被命名为服务&#xff0c;意味着它具有为客户提供某种业务行为的能力。服务与客户存在一种协作关系&#xff0c;协作的接口可以…

PCMag评选“小企业优选CRM软件”——Zoho Bigin上榜

当我们谈论企业怎样选择CRM管理系统时&#xff0c;大型企业、中型企业以及小型或初创等不同规模的企业需求各不相同&#xff0c;很难用一套软件来适配所有公司。以小企业为例&#xff0c;大多面临预算紧张、没有专业的IT部门或支持团队、暂时用不到高级定制功能等现状。基于这个…

Java面向对象 构造器的重载

目录 创建类测试构造器的重载分析 创建类 public class Person02 {//属性&#xff1a;String name;int age;double height;//空构造器public Person02(){}public Person02(String name,int age,double height){//当形参名字和属性名字重名的时候&#xff0c;会出现就近原则&am…

Excel——重复项处理

一、高亮重复项 选择需要高亮重复项的列/单元格 选择【数据】——【重复项】—— 【高亮重复项】 如果高亮重复项的数据较长&#xff0c;例如&#xff1a;身份证号、银行卡&#xff0c;可以勾选下列选项&#xff0c;能够精准检查重复项。 结果如下所示 如果想要清除高亮的重复…

项目02《游戏-10-开发》Unity3D

【完成本集功能后共享1-10集整套代码】 基于 项目02《游戏-09-开发》Unity3D &#xff0c; 任务&#xff1a;传送至其他场景&#xff0c; 首先在场景中加入传送门&#xff0c; 设置人物标签&#xff0c; using UnityEngine; using UnityEngine.SceneManagement; u…

12.0 Zookeeper 数据同步流程

在 Zookeeper 中&#xff0c;主要依赖 ZAB 协议来实现分布式数据一致性。 ZAB 协议分为两部分&#xff1a; 消息广播崩溃恢复 消息广播 Zookeeper 使用单一的主进程 Leader 来接收和处理客户端所有事务请求&#xff0c;并采用 ZAB 协议的原子广播协议&#xff0c;将事务请求…

docker 运行jar包 指定配置文件

要在Docker中运行JAR包并指定配置文件&#xff0c;你可以创建一个Dockerfile来定义你的容器环境&#xff0c;并在其中指定如何运行JAR包和配置文件。下面是一个简单的例子&#xff0c;展示了如何在Dockerfile中设置这些配置&#xff1a; 第一步&#xff1a;创建 Dockerfile文件…

RCS系统之:机器人状态

在设计RCS系统平台时&#xff0c;机器人总共设计状态有&#xff1a; 离线模式&#xff1b; 如图&#xff0c;18号机器人呈灰黑色&#xff0c;表示机器人没有上电状态 工作模式&#xff1b; 如图&#xff0c;10号机器人成绿色&#xff0c;表示机器人处于工作模式&#xff0c;等…

SQL--约束

概述 概念&#xff1a;约束是作用于表中字段上的规则&#xff0c;用于限制存储在表中的数据。 目的&#xff1a;保证数据库中数据的正确、有效性和完整性。 分类: 约束演示 上面我们介绍了数据库中常见的约束&#xff0c;以及约束涉及到的关键字&#xff0c;那这些约束我们…

IDEA创建Java类时自动添加注释(作者、年份、月份)

目录 IDEA创建Java类时自动添加注释&#xff08;作者、年份、月份&#xff09;如图&#xff1a; IDEA创建Java类时自动添加注释&#xff08;作者、年份、月份&#xff09; 简单记录下&#xff0c;IDEA创建Java类时自动添加注释&#xff08;作者、年份、月份&#xff09;&#…

Mysql MGR搭建

一、架构说明 1.1 架构概述 MGR(单主)VIP架构是一种分布式数据库架构&#xff0c;其中数据库系统采用单主复制模式&#xff0c; 同时引入虚拟IP(VIP)来提高可用性和可扩展性。 这种架构结合了传统主从复制和虚拟IP技术的优势&#xff0c;为数据库系统提供了高可用、 高性能和…

Python HTTP隧道在远程通信中的应用:穿越网络的“魔法门”

在这个数字化时代&#xff0c;远程通信就像是我们日常生活中的“魔法门”&#xff0c;让我们可以随时随地与远方的朋友、同事或服务器进行交流。而在这扇“魔法门”的背后&#xff0c;Python HTTP隧道技术发挥着举足轻重的作用。 想象一下&#xff0c;你坐在家里的沙发上&…

python二维数组初始化的一个极其隐蔽的bug(浅拷贝)

初始化一个三行三列的矩阵 m n 3初始化方式1 a [[0 for i in range(m)] for j in range(n)]初始化方式2 b [] row [0 for i in range(0,m)] for i in range(0,n):b.append(row)分别输出两个初始化的结果 for row in a:print(row) for row in b:print(row)当前的输出为…

龙测科技荣获2023年度技术生态构建奖

本月&#xff0c;由极客传媒举办的“有被Q到”2024 InfoQ 极客传媒合作伙伴年会顺利举办&#xff0c;龙测科技喜获2023年度技术生态构建奖。 InfoQ是首批将Node.js、HTML5、Docker等技术全面引入中国的技术媒体之一&#xff0c;秉承“扎根社区、服务社区、引领社区”的理念&…

【element-ui】el-select下拉框el-date-picker弹出框定位问题解决方案

问题描述&#xff1a; 项目开发过程中发现el-select和el-date-picker弹出框显示时候&#xff0c;滚动屏幕&#xff0c;导致弹出框定位出现问题。 首先考虑到看一下element-ui官网提供的api&#xff0c;如下图 1、select提供了popper-append-to-body属性的配置 代码如下&#x…

百面嵌入式专栏(面试题)进程管理相关面试题1.0

沉淀、分享、成长,让自己和他人都能有所收获!😄 📢本篇我们将介绍进程管理相关面试题 。 一、进程管理相关面试题 进程是什么?操作系统如何描述和抽象一个进程?进程是否有生命周期?如何标识一个进程?进程与进程之间的关系如何?Linux操作系统的进程0是什么?Linux操…

C++函数分文件编写之VScode版

VScode实现函数的分文件编写 1.下载插件创建项目2.分文件编写内容3.修改主函数文件名 我在分享内容时经常用的软件是VScode&#xff0c;相信有些内存敏感或需要VScode便利性的小伙伴也是更愿意使用VScode。那么接下来我们就盘一盘怎样使用VScode实现分文件编写。 1.下载插件创建…

解决maven 在IDEA 下载依赖包速度慢的问题

1.idea界面双击shift键 2.打开setting.xml文件 复制粘贴 <?xml version"1.0" encoding"UTF-8"?> <settings xmlns"http://maven.apache.org/SETTINGS/1.0.0"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:sc…

linux centos安装neofetch

简介 neofetch是一个命令行工具&#xff0c;可以用来显示系统的基本信息和硬件配置。它支持多种操作系统&#xff0c;包括Linux、macOS和Windows等。 安装 增加yum源 curl -o /etc/yum.repos.d/konimex-neofetch-epel-7.repo https://copr.fedorainfracloud.org/coprs/konime…