Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

HTML标签及属性 #20

Open
coconilu opened this issue Jul 3, 2018 · 0 comments
Open

HTML标签及属性 #20

coconilu opened this issue Jul 3, 2018 · 0 comments

Comments

@coconilu
Copy link
Owner

coconilu commented Jul 3, 2018

追求的目标

  1. 分类标签,并记住常用的(80%)标签
  2. 了解常用标签的常用(80%)独有特性
  3. 了解全局特性

HTML模型

指令
根元素
  头部
    元数据
    外部资源
  网页结构
    网页内容
      多媒体
        文本,有很多相关的文本标签,分为块元素和行内元素
        图片
        音频
        视频
      内嵌内容
        iframe
        object
        canvas
        svg
        script
        table
        form
        交互元素:dialog
        web component:slot、shadow、template

1. 分类标签

标签有很多,但是可以把它们分类出来便以回忆,推荐到MDN查看完整的列表。

指令

<!DOCTYPE html>

根元素

<html>:
    lang,指定语言。

文档元数据和外部资源

元数据(Metadata)含有页面的相关信息,包括样式、脚本及数据,能帮助一些软件 (如搜索引擎, 浏览器等等)更好地运用和渲染页面。

<link>,链接外部资源:
    rel,指明被链接文档对于当前文档的关系——链接类型:stylesheet、shortcut icon、icon、manifest、preload
    type,用于定义链接的内容的类型。text/css
    href,指定被链接资源的URL。

<meta>,元数据信息:
    charset,声明当前文档所使用的字符编码
    http-equiv,允许站点管理者在指定的页面控制用户代理的资源,refresh(秒)
    name,author、description、generator、keywords、viewport
    content,为 http-equiv 或 name 属性提供了与其相关的值的定义

<style>,包含文档的样式信息或者文档的部分内容:
    type,MIME类型(不应该指定字符集)定义样式语言。默认为 text/css。
    media,用于媒体查询,默认值为 all。
    scoped,如果该属性存在,则样式应用于其父元素;如果不存在,则应用于整个文档。

<title>,义文档的标题,显示在浏览器的标题栏或标签页上。

链接类型

内容分区

内容分区元素允许你将文档内容从逻辑上进行组织划分。使用包括页眉(header)、页脚(footer)、导航(nav)和标题(h1~h6)等分区元素,来为页面内容创建明确的大纲,以便区分各个章节的内容。

文本内容

文本内容标签是块元素

<main>,呈现了文档<body>或应用的主体部分。

<blockquote>,引用内容:
    cite,标注引用的信息的来源文档或者相关信息的URL。

<dir>,废弃,表示目录。

<div>,通用型的流内容容器。

<dl>,术语定义列表。
<dt>,声明术语。
<dd>,术语描述。

<figure>,独立内容。
<figcaption>,figure的描述。

<hr>,水平分割线。

<p>,段落。
<pre>,预定义格式文本。

<ol>,有序列表:
    reversed,规定了列表的条目采用倒序。
    start,规定了列表得条目序号的开始的值。
    type,数字类型。
<ul>,无序列表。
<li>,列表条目:
    value,表明了列表的当前序号值。

内联文本语义

内联文本语义的标签是行内元素

<a>,创建一个到其他网页、文件、同一页面内的位置、电子邮件地址或任何其他URL的超链接:
    download,指示浏览器下载URL而不是导航到URL,因此将提示用户将其保存为本地文件。
    href,链接来源,URL、#
    rel,指定了目标对象到链接对象的关系。
    target,指定在何处显示链接的资源。_self(默认)、_blank(新窗口)、_parent、_top
    type,媒体类型。仅提供建议,并没有内置的功能。
<abbr>,缩写:
    title,定义对缩写的完整描述。
<dfn>,术语。
<cite>,表示一个作品的引用。
<code>,呈现一段计算机代码。经常和pre标签一起使用。
<time>,表示24小时制时间或公历日期。

<span>,短语内容的通用行内容器。
<b>,提醒注意。
<em>,着重阅读,可以嵌套。
<i>,斜体,常用在术语。
<mark>,高亮突出显示的文字。
<q>,短引用,会被双引号包括:
cite,标注引用的信息的来源文档或者相关信息的URL。
<br>,文本内的换行。
<small>,字体变小一号。
<strong>,十分重要,粗体显示。
<sub>,下标。
<sup>,上标。
<u>,下划线。
<del>,表示删除的文字内容:
    cite,指向一个文档的 URL
    datetime,指示的此修改发生的时间和日期

<ins>,表示插入的文字内容:
    cite,指向一个文档的 URL
    datetime,指示的此修改发生的时间和日期

// 下面是不常用的
<data>,兼容性不好
<ruby>
<rt>
<rtc>
<rp>
<s>
<kbd>
<samp>
<tt>
<var>
<wbr>

图片和多媒体

<img>,图像:
    alt,替代文本。
    ismap,表示图像是否是服务器端map的一部分。
    src,图像的URL。
    height,width。

<map>,<map> 属性 与 <area> 属性一起使用来定义一个图像映射(一个可点击的链接区域):
    name,查询用。
<area>,定义一个热点区域,可以关联一个超链接。
alt,替代文本。
    coords,坐标值。
    download,下载资源。
    shape,形状。
    href、rel、target、type,参考a标签。

<audio>,音频:
    autoplay,指定后,音频会马上自动开始播放。
    buffered,获取已缓冲的资源的时间段信息。
    controls,控制面板。
    loop,布尔属性;如果指定,将循环播放音频。
    muted,是否静音的布尔值。默认值为false,表示有声音。
    played,表示所有已播放的音频片段。
    preload,预加载,none、metadata、auto。
    src,音频URL。
    volume,音量。

<video>,视频:
    和audio标签有很多相同的属性;
    poster,一个海报帧的URL。

<track>,字幕,被当作媒体元素—<audio> 和 <video>的子元素来使用:
    default,默认的字母。
    kind,subtitle、captions、descriptions、chapters、metadata
    label,标题
    src,URL

内嵌内容

<iframe>,嵌套的浏览上下文:
    name,嵌入的浏览上下文(框架)的名称。该名称可以用作<a>标签,<form>标签的target属性值,或<input> 标签和 <button>标签的formtaget属性值。
    sandbox,可选值有:allow-forms、allow-modals、allow-orientation-lock、allow-pointer-lock、allow-popups、allow-popups-to-escape-sandbox、allow-presentation、allow-same-origin、allow-scripts、allow-top-navigation。
    seamless,指示浏览器将iframe渲染成容器页面文档的一部分。
    src,URL。
    width、height、frameborder、marginheight、marginright、scrolling。

<source>,声明多媒体资源,picture、audio、video

<picture>,是一个容器,用来为其内部特定的 <img> 元素提供多样的 <source> 元素。
<applet>,不推荐使用。
<embed>,不明智的。
<noembed>不明智的。
<object>、<param>。

脚本

<canvas>,通过脚本绘制图形:
    width、height。

<noscript>,定义脚本未被执行时的替代内容。
<script>,用于嵌入或引用可执行脚本。通常是JS:
    async,指示浏览器是否在允许的情况下异步执行该脚本。该属性对于内联脚本无作用 (即没有src属性的脚本)。
    defer,设定用来通知浏览器该脚本将在文档完成解析后,触发 DOMContentLoaded 事件前执行。该属    性对于内联脚本无作用 (即没有src属性的脚本)。
    src,URL。
    type,支持的MIME类型包括text/javascript, text/ecmascript, application/javascript, 和application/ecmascript。
    text、crossorigin。
    crossorigin,跨域相关,可以使用本属性来使那些将静态资源放在另外一个域名的站点打印错误信息。

表格内容

用在td:colspan,跨列;rowspan,跨行。

<table>,表格
<caption>,标题
<tr>,行
<th>
<td>
<colgroup>
<col>
<thead>
<tbody>
<tfoot>

表单

<form>,表单
<fieldset>,分组
<legend>,fieldset的标题 
<button>
<input>
<datalist>,id关联input的list属性
<label>
<textarea>
<select>,选项菜单
<optgroup>,选项分组
<option>,选项
<progress>,进度条
<meter>,显示已知范围的标量值或者分数值
<output>

交互元素

<dialog>,表示一个对话框或其他交互式组件。open属性、showModal()
<summary>、<details>
<menu>、<menuitem>,兼容性差

Web组件

<content>,废弃,被slot代替
<element>,废弃
<shadow>,废弃
<slot>,slot是web组件的一个占位符,可以用来插入自定义的标记文本。
<template>,用于保存客户端内容的机制,该内容在页面加载时不被渲染,但可以在运行时使用JavaScript进行实例化。

2. 全局属性

除了我们常见的:

id、class、style、title

还有下面的:

accesskey,访问元素的键盘快捷键
contenteditable,是否可以编辑元素的内容
data-*,自定义数据
dir,元素内文本的方向
draggable,是否可以拖动
dropzone,拖动动作的结果
hidden,隐藏元素
lang,设置语言
spellcheck,是否检查拼写错误
tabindex,tab键的控制次序
translate,页面加载时是否需要翻译

当然了,除了上面的属性,还有下面的(包括但不止)事件处理器(可以参考EventTarget接口)——格式是on+<event-name>

onabort, 当一个资源的加载已中止时,将触发 abort事件。
onautocomplete
onautocompleteerror
onblur,当一个元素失去焦点的时候 blur 事件被触发。
oncancel
oncanplay
oncanplaythrough
onchange
onclick, 当一个设备功能按钮(通常是鼠标左键)被按下和释放,且在同一个元素上时被触发。
onclose
oncontextmenu
oncuechange
ondblclick
ondrag
ondragend
ondragenter
ondragexit
ondragleave
ondragover
ondragstart
ondrop
ondurationchange
onemptied
onended
onerror
onfocus
oninput
oninvalid
onkeydown, 当一个键被按下后会触发keydown 事件
onkeypress
onkeyup
onload
onloadeddata
onloadedmetadata
onloadstart
onmousedown
onmouseenter
onmouseleave
onmousemove
onmouseout
onmouseover
onmouseup
onmousewheel
onpause
onplay
onplaying
onprogress
onratechange
onreset
onresize
onscroll
onseeked
onseeking
onselect
onshow
onsort
onstalled
onsubmit
onsuspend
ontimeupdate
ontoggle
onvolumechange
onwaiting

参考

HTML 元素参考
HTML 属性参考
HTML 元素全局属性
EventTarget API

@coconilu coconilu changed the title HTML模型 HTML标签及属性 Aug 1, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant