其他元素

脚本

canvas元素

使用方法见:https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API

<canvas>元素可被用来通过脚本(通常是JavaScript)绘制图形。比如,它可以被用来绘制图形,制作图片集合,甚至用来实现动画效果。你可以(也应该)在元素标签内写入可提供替代的的代码内容,这些内容将会在在旧的、不支持<canvas>元素的浏览器或是禁用了JavaScript的浏览器内渲染并展现。

属性:

  1. height
  • 该元素占用空间的高度,以 CSS 像素(px)表示,默认为 150。
  1. moz-opaque
  • 通过设置这个属性,来控制canvas元素是否半透明。如果你不想canvas元素被设置为半透明,使用这个元素将可以优化浏览器绘图性能。
  1. width
  • 该元素占用空间的宽度,以 CSS 像素(px)表示,默认为 300。

注意:可以通过CSS来控制<canvas>的大小。在渲染的过程中<canvas>元素中的内容会根据情况缩放来适应需要的大小。如果您发现<canvas>元素中展示的内容变形,您可以通过<canvas>自带的height和width属性进行相关设置,而不要使用CSS。

如果你没有设置<canvas>元素的透明度,可以考虑使用moz-opaque属性。下面给出的示例代码

"<canvas id="mycanvas" moz-opaque></canvas>"

可用于页面渲染优化。但需要您注意的是只能在基于Mozilla内核的浏览器内生效。

noscript元素

如果页面上的脚本类型不受支持或者当前在浏览器中关闭了脚本,则在 HTML <noscript> 元素中定义脚本未被执行时的替代内容。

当脚本被禁用并且它是 <head>元素的后代时:

  • 以下顺序任意,零个或者多个<link>元素,零个或者多个<style>元素,零个或者多个<meta>元素。

  • 当脚本被禁用并且它不是 <head> 元素的子元素时:任何transparent content 都可以,但是在它的后代中必须没有 <noscript>元素。

  • 否则:flow content 或 phrasing content 。

script元素

用于嵌入或引用可执行脚本。

指明响应的脚本类型。它可能属于以下类别中的一个。

async HTML5
该布尔属性指示浏览器是否在允许的情况下异步执行该脚本。该属性对于内联脚本无作用 (即没有src属性的脚本)。
关于浏览器支持请参见浏览器兼容性。另可参见文章asm.js的异步脚本。

crossorigin
那些没有通过标准CORS检查的正常script 元素传递最少的信息到 window.onerror。
可以使用本属性来使那些将静态资源放在另外一个域名的站点打印错误信息。
参考 CORS 设置属性了解对有效参数的更具描述性的解释。
<script src="" crossorigin="anonymous"></script>

defer
这个布尔属性被设定用来通知浏览器该脚本将在文档完成解析后,触发 DOMContentLoaded 事件前执行。如果缺少 src 属性(即内嵌脚本),该属性不应被使用,因为这种情况下它不起作用。
对动态嵌入的脚本使用 `async=false` 来达到类似的效果。

integrity
包含用户代理可用于验证已提取资源是否已无意外操作的内联元数据。参见 Subresource Integrity。

nomodule
这个布尔属性被设置来标明这个脚本在支持 ES2015 modules 的浏览器中不执行。 — 实际上,这可用于在不支持模块化JavaScript的旧浏览器中提供回退脚本。

src
这个属性定义引用外部脚本的URI,这可以用来代替直接在文档中嵌入脚本。指定了 src 属性的script元素标签内不应该再有嵌入的脚本。

type
      该属性定义script元素包含或src引用的脚本语言。属性的值为MIME类型; 支持的MIME类型包括text/javascript, text/ecmascript, application/javascript, 和application/ecmascript。如果没有定义这个属性,脚本会被视作JavaScript。
   如果MIME类型不是JavaScript类型(上述支持的类型),则该元素所包含的内容会被当作数据块而不会被浏览器执行。
        如果type属性为module,代码会被当作JavaScript模块 。请参见ES6 in Depth: Modules
    在Firefox中可以通过定义type=application/javascript;version=1.8来使用如let声明这类的JS高版本中的先进特性。 但请注意这是个非标准功能,其他浏览器,特别是基于Chrome的浏览器可能会不支持。

text
和 textContent 属性类似,本属性用于设置元素的文本内容。但和 textContent  不一样的是,本属性在节点插入到DOM之后,此属性被解析为可执行代码。

charset 
字符集如果存在。它的值必须是不区分大小写的“utf-8”匹配。这两个都不需要指定charset属性,因为文档必须使用UTF-8, anc脚本元素从文档中继承其字符编码。

language 
和type属性类似,这个属性定义脚本使用的语言。 但是与type不同的是,这个属性的可能值从未被标准化过。请用type属性代替这个属性。

关于如何引入特殊编程语言,请参见:https://developer.mozilla.org/en-US/docs/Archive/Add-ons/Code_snippets/Rosetta

交互元素

details元素

可创建一个挂件,仅在被切换成展开状态时,它才会显示内含的信息。<summary> 元素可为该部件提供概要或者标签。

属性:
open
此布尔属性指示细节(即details元素的内容)当前是否可见。默认的false表示细节不可见。

样式:<details open>Hello World!</details>

事件:

除了HTML元素支持的常见事件之外,details元素还支持toggle事件,每当details元素的状态在打开和关闭之间发生变化时,该事件就会被分派到 details元素。它是在状态更改之后发送的,但是如果在浏览器可以调度事件之前状态更改了多次,则将事件合并在一起,以便只发送一个事件。您可以侦听toggle事件,以检测小部件何时更改状态:

dialog元素

表示一个对话框或其他交互式组件,例如一个检查器或者窗口。

但是 tabindex 特性不能被使用在 <dialog> 元素上。

open
指示这个对话框是激活的和能互动的。当这个 open 特性没有被设置,对话框不应该显示给用户。

  • <form> 元素可在此对话框中使用,但需要指定属性 method="dialog" 。当提交表单时,对话框的 returnValue 属性将会等于表单中被使用的提交按钮的 value 。

  • ::backdrop CSS 伪元素可用于更改 <dialog> 背景元素样式,例如在对话框被打开激活时,调暗背景中不可访问的内容。仅当使用 HTMLDialogElement.showModal() 显示对话框时才会绘制 backdrop 背景。

当单击“更新详细信息”按钮时,此示例打开一个包含一个表单的弹出对话框。

menu元素

呈现了一组用户可执行或激活的命令。这既包含了可能出现在屏幕顶端的列表菜单,也包含了那些隐藏在按钮之下、当点击按钮后显示出来的文本菜单。

menu 和 ul 元素都呈现了无序列表元素。最主要的区别是,ul 主要是为了展示选项,而 menu 则是为了交互。

属性:

  1. label
  • 显示给用户的菜单名。在嵌套菜单中使用,以提供可通过其访问子菜单的标签。必须仅在上下文菜单状态下的父级为<menux时指定。
  1. type
  • 此属性指示要声明的菜单的类型,可以是两个值之一。
  • 上下文:指示弹出菜单状态,表示通过另一个元素激活的一组命令。这可以是<button>元素的菜单属性引用的按钮菜单,也可以是具有contextmenu属性的元素的上下文菜单。如果缺少属性,并且父元素也是<menu>元素,则此值是默认值工具栏
  • 指示工具栏状态,表示由一系列用户交互命令组成的工具栏。这可以是无序列表oi li元素的形式。或者,如果元素没有 li 元素子元素,则使用描述可用命令的流内容。如果属性缺失,则此值为默认值。

使用:

  1. HTML菜单可用于创建上下文菜单(通常通过右键单击另一个元素来激活)或工具栏。

  2. 上下文菜单:由一个<menu>元素组成,该元素包含菜单中每个可选选项的<menuitem>元素,菜单中的子菜单的<menu>元素,分隔线的 hr 元素,用于将菜单内容分成多个部分。然后,上下文菜单被附加到通过使用关联元素的ontextmenu属性激活的元素上,或者对于附加到 button 元素上的按钮激活菜单,附加到菜单属性上

  3. 工具栏菜单:包含一个<menu>元素的内容是描述两种方式中的一种作为一个无序列表的项目由 li 元素(每个代表一个命令或选项,用户可以使用),或(如果没有 li 元素),流内容描述可用的命令和选项。

menuitem元素

过时了(除了火狐都不支持)

用户可以通过HTML <menuitem> 元素生成一个弹出式菜单。这包括上下文菜单,以及按钮可能附带的菜单。

summary元素

用作 一个details 元素的一个内容的摘要,标题或图例。
控制
<details>
</details>

使用summary:

< details>
< summary>
结果
</summary>
</details>

web组件

content元素

已废弃

Web 组件 的技术套件的废弃部分 — 用于 Shadow DOM 内部作为 insertion point,并且不可用于任何正常的 HTML,现在已被 <slot> 元素代替,它在 DOM 中创建一个位置,Shadow DOM 会插入这里。

element元素

已被删除,但部分浏览器支持

被定义在最新的 HTML DOM 元素中。

shadow元素

已废弃

Web 组件技术套件的废弃部分 — 目的是用作 Shadow DOM insertion point。如果你在 shadow host 下面创建了多个 shadow root,你就可能已经使用了它。在正常的 HTML 没有任何用处。

slot元素

是 Web Components 技术套件的一部分,是Web组件内的一个占位符,可以使用自己的标记填充,这样您就可以创建单独的DOM树并将它们组合在一起。

属性:
name

插槽的名字
拥有name属性的插槽叫具名插槽 。

template元素

是一种用于保存客户端内容机制,该内容在加载页面时不会呈现,但随后可以(原文为 may be)在运行时使用JavaScript实例化。

将模板视为一个可存储在文档中以便后续使用的内容片段。虽然解析器在加载页面时确实会处理<template>元素的内容,但这样做只是为了确保这些内容有效;但元素内容不会被渲染。

HTMLTemplateElement 有个属性: content , 这个属性是只读的DocumentFragment 包含了模板所表示的DOM树。

  1. 我们有一个表,稍后我们将使用JavaScript代码在其中插入内容。然后是模板,它描述了表示单个表行的HTML片段的结构。

  2. 既然已经创建了表并定义了模板,我们使用JavaScript将行插入到表中,每一行都是以模板为基础构建的。

来源MDN

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,928评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,192评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,468评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,186评论 1 286
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,295评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,374评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,403评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,186评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,610评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,906评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,075评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,755评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,393评论 3 320
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,079评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,313评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,934评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,963评论 2 351

推荐阅读更多精彩内容

  •   JavaScript 与 HTML 之间的交互是通过事件实现的。   事件,就是文档或浏览器窗口中发生的一些特...
    霜天晓阅读 3,483评论 1 11
  • HTML 5 HTML5概述 因特网上的信息是以网页的形式展示给用户的,因此网页是网络信息传递的载体。网页文件是用...
    阿啊阿吖丁阅读 3,875评论 0 0
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,094评论 1 32
  • XPath 是一门在 XML 文档中查找信息的语言。XPath 可用来在 XML 文档中对元素和属性进行遍历。 X...
    sexy_cyber阅读 1,033评论 0 0
  • (1)mark用来在视觉上向用户呈现那些需要突出显示或高亮显示的文字。mark元素的一个比较典型的应用就是在搜索结...
    何幻阅读 261评论 0 0