HTML标签学习

本篇内容:

  • W3C
  • MDN
  • HTML 标签列表
  • 常用标签详解
  • 什么是空标签
  • 什么是可替换标签

W3C 简介

万维网联盟(World Wide Web Consortium,W3C),又称W3C理事会,是万维网的主要国际标准组织[2]。为半自治非政府组织(quasi-autonomous non-governmental organisation),由蒂姆·伯纳斯-李于1994年10月离开欧洲核子研究中心(CERN)后成立。

W3C推荐标准

  • CSS:层叠样式表
  • DOM:文档对象模型
  • HTML:超文本标记语言
  • RDF:资源描述框架
  • SMIL:同步多媒体集成语言
  • SVG:可缩放矢量图形
  • WAI
  • Widgets
  • XHTML:可扩展超文本标记语言
  • XML:可扩展标记语言
  • PICS:网络内容筛选平台

MDN 简介

MDN Web Docs(旧称Mozilla Developer Network、Mozilla Developer Center,简称MDN)是一个汇集众多Mozilla基金会产品和网上技术开发文档的免费网站。

历史

该项目始于2005年,最初由Mozilla公司员工Deb Richardson领导。自2006年以来,文档工作由Eric Shepherd领导[2]。
网站最初的内容是由DevEdge提供,但在AOL收购Netscape后,DevEdge网站也宣布关闭。为此Mozilla基金会向AOL获取了DevEdge发布的内容[3][2],同时将DevEdge内容搬移到mozilla.org[4][5]。


MDN本身有一个论坛,并在Mozilla IRC网络上有一个IRC频道#mdn。MDN由Mozilla公司提供服务器和员工的资助。
2016年10月3日发表的Brave网页浏览器将MDN作为其搜索引擎选项之一。

HTML 标签列表

根元素

ElementDescription
<html>代表 HTML 或 XHTML文档的根。其他所有元素必须是这个元素的子节点。

文档元数据

ElementDescription
<head>代表关于文档元数据的一个集合,包括脚本或样式表的链接或内容。
<title>定义文档的标题,将显示在浏览器的标题栏或标签页上。该元素只能包含文本,包含的标签不会被解释。
<base>定义页面上相对 URL 的基准 URL。
<link>用于链接外部的 CSS 到该文档。
<meta>定义其他 HTML 元素无法描述的元数据。
<style>用于内联 CSS。

脚本

ElementDescription
<script>定义一个内联脚本或链接到外部脚本。脚本语言是 JavaScript。
<noscript>定义当浏览器不支持脚本时显示的替代文字。
<template>通过 JavaScript 在运行时实例化内容的容器。

章节

ElementDescription
<body>代表 HTML 文档的内容。在文档中只能有一个 元素。
<section>定义文档中的一个章节。
<nav>定义只包含导航链接的章节。
<article>定义可以独立于内容其余部分的完整独立内容块。
<aside>定义和页面内容关联度较低的内容——如果被删除,剩下的内容仍然很合理。
<h1>,<h2>,<h3>,<h4>,<h5>,<h6>标题元素实现了六层文档标题,<h1>是最大的标题,<h6>是最小的标题。标题元素简要地描述章节的主题。
<header>定义页面或章节的头部。它经常包含logo、页面标题和导航性的目录。
<footer>定义页面或章节的尾部。它经常包含版权信息、法律信息链接和反馈建议用的地址。
<address>定义包含联系信息的一个章节。
<main>定义文档中主要或重要的内容。

组织内容

ElementDescription
<p>定义一个段落。
<hr>代表章节、文章或其他长内容中段落之间的分隔符。
<pre>代表其内容已经预先排版过,格式应当保留 。
<blockquote>代表引用自其他来源的内容。
<ol>定义一个有序列表。
<ul>定义一个无序列表。
<li>定义列表中的一个列表项。
<dl>定义一个定义列表(一系列术语和其定义)。
<dt>代表一个由下一个
定义的术语。
<dd>代表出现在它之前术语的定义。
<figure>代表一个和文档有关的图例。
<figcaption>代表一个图例的说明。
<div>代表一个通用的容器,没有特殊含义。

文字形式

ElementDescription
<a>代表一个链接到其他资源的超链接 。
<em>代表强调 文字。
<strong>代表特别重要文字。
<small>代表注释 ,如免责声明、版权声明等,对理解文档不重要。
<s>代表不准确或不相关 的内容。
<cite>代表作品标题 。
<q>代表内联的引用 。
<dfn>代表一个术语包含在其最近祖先内容中的定义 。
<abbr>代表省略 或缩写 ,其完整内容在 title 属性中。
<data>关联一个内容的机器可读的等价形式 (该元素只在 WHATWG 版本的 HTML 标准中,不在 W3C 版本的 HTML5 标准中)。
<time>代表日期 和时间 值;机器可读的等价形式通过 datetime 属性指定。
<code>代表计算机代码 。
<var>代表代码中的变量 。
<samp>代表程序或电脑的输出 。
<kbd>代表用户输入,一般从键盘输出,但也可以代表其他输入,如语音输入。
<sub>,<sup>分别代表下标 和上标 。
<i>代表一段不同性质 的文字,如技术术语、外文短语等。
<b>代表一段需要被关注 的文字。
<u>代表一段需要下划线呈现的文本注释,如标记出拼写错误的文字等。
<mark>代表一段需要被高亮的引用 文字。
<ruby>代表被ruby 注释 标记的文本,如中文汉字和它的拼音。
<rt>代表ruby 注释 ,如中文拼音。
<rp>代表 ruby 注释两边的额外插入文本 ,用于在不支持 ruby 注释显示的浏览器中提供友好的注释显示。
<bdi>代表需要脱离 父元素文本方向的一段文本。它允许嵌入一段不同或未知文本方向格式的文本。
<bdo>指定子元素的文本方向 ,显式地覆盖默认的文本方向。
<span>代表一段没有特殊含义的文本,当其他语义元素都不适合文本时候可以使用该元素。
<br>代表换行 。
<wbr>代表建议换行 (Word Break Opportunity),当文本太长需要换行时将会在此处添加换行符。

编辑

ElementDescription
<ins>定义增加到文档的内容。
<del>定义从文档移除 的内容。

嵌入内容

ElementDescription
<img>代表一张图片 。
<iframe>代表一个内联的框架 。
<embed>代表一个嵌入 的外部资源,如应用程序或交互内容。
<object>代表一个外部资源 ,如图片、HTML 子文档、插件等。
<param>代表 <object>元素所指定的插件的参数 。
<video>代表一段视频及其视频文件和字幕,并提供了播放视频的用户界面。
<audio>代表一段声音 ,或音频流 。
<source><video><audio>这类媒体元素指定媒体源 。
<track><video><audio>这类媒体元素指定文本轨道(字幕) 。
<canvas>代表位图区域,可以通过脚本在它上面实时呈现图形,如图表、游戏绘图等。
<map><area>元素共同定义图像映射 区域。
<area><map>元素共同定义图像映射 区域。
<svg>定义一个嵌入式矢量图 。
[<math>](https://developer.mozilla.org/zh-CN/docs/Web/MathML/Element/math "<math>")定义一段数学公式 。

表格

ElementDescription
<table>定义多维数据 。
<caption>代表表格的标题 。
<colgroup>代表表格中一组单列或多列 。
<col>代表表格中的列 。
<tbody>代表表格中一块具体数据 (表格主体)。
<thead>代表表格中一块列标签 (表头)。
<tfoot>代表表格中一块列摘要 (表尾)。
<tr>代表表格中的行 。
<td>代表表格中的单元格 。
<th>代表表格中的头部单元格 。

表单

ElementDescription
<form>代表一个表单 ,由控件组成。
<fieldset>代表控件组 。
<legend>代表 <fieldset>控件组的标题 。
<label>代表表单控件的标题 。
<input>代表允许用户编辑数据的数据区 (文本框、单选框、复选框等)。
<button>代表按钮 。
<select>代表下拉框 。
<datalist>代表提供给其他控件的一组预定义选项 。
<optgroup>代表一个选项分组 。
<option>代表一个 <select>元素或 <datalist>元素中的一个选项
<textarea>代表多行文本框 。
<keygen>代表一个密钥对生成器 控件。
<output>代表计算值 。
<progress>代表进度条 。
<meter>代表滑动条 。

交互元素

ElementDescription
<details>代表一个用户可以(点击)获取额外信息或控件的小部件 。
<summary>代表 <details>元素的综述 或标题 。
<menuitem>代表一个用户可以点击的菜单项。
<menu>代表菜单。

常用标签详解

iframe标签

嵌套页面

<iframe name="xxx" src="./index.html" frameborder="0"></iframe>
<a href="" target="xxx"></a>
  1. frameborder="0"消除自带边框;
  2. name属性结合a标签才能使用;
  3. src接网址或绝对地址;

a标签

  1. 属性见 MDN:https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/a
  2. a标签里target有四个自带的值,分别为空标签,自己,顶级,父级;
<a target="_blank _self _top _parent "
  1. 一是通过html响应里的contenttype,二是通过a标签里的download属性指定强制下载;
<a href="" download></a>
  1. href可以接:
  1. JS伪协议
javascipt:alert(1);   
javascipt:;      表示什么也不做

form标签

<form action="index2.html" method="POST">
    <input type="text" name="username">
    <input type="password" name="password">
    <input type="submit" value="提交">
</form>
  1. form一般用来发post请求;
  2. 必须要有提交按钮,如果form表单里没有提交按钮,就无法提交form;
  3. name里内容成为请求第四部分的key;
  4. 属性见 MDN:https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/form.

input标签

<form action="index2.html" method="POST">
    <input type="text" name="username">
    <input type="password" name="password">
    <input type="checkbox" id="xxx"><label for="xxx">爱我</label>
    <select name="分组" multiple>   multiple指可以多选
        <option value="">-</option>   空值默认什么都不选
        <option value="1">第一组</option>
        <option value="2">第二组</option>
        <option value="3" disabled>第三组</option>    不能选中
        <option value="4" selected>第四组</option>    默认选中
    </select>
    <textarea style="resize: none;width:100px; height:50px;"name="爱好"></textarea>
    <button>button</button>
</form>
  1. button标签如果没有写type,会自动升级为提交按钮;
  2. input没有子元素,button可以有span等子元素;
  3. 写了type就按type写的来;submit是唯一能确定表单能否点击提交的按钮;button就是个普通的能点击的按钮;
<input type="submit" value="提交">
  1. label为了跟input关联;老司机用label包住,更方便;
<label> <input type="checkbox">爱我</label>
  1. checkbox多选框
<label><input type="checkbox" name="fruit" value="apple">苹果</label>
<label><input type="checkbox" name="fruit" value="orange">橘子</label>
  1. radio单选框
<label><input type="radio" name="loveme" value="yes">YES</label>
<label><input type="radio" name="loveme" value="no">NO</label>

取同样的名字,就只能选一个;


7. input 的属性见:https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/Input


8. button 的属性见:https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/button

table标签

<head>
    <style>
    table{
        border-collapse:collapse;       使边框合为一个;
    }
    </style>
</head>
<body>
    <table border="1">
        <colgroup>
        <col width=100>
        <col bgcolor=blue width=300>
        <col width=100>
        <col width=300>
        
        </colgroup>
        <thead>
            <tr>
                <th></th><th>1</th><th>2</th><th>3</th>
            </tr>
        </thead>
        <tbody>
            <tr>
                <th>平均分</th><td>1</td><td>2</td><td>3</td>
            </tr>
        </tbody>
        <tfoot>
            <tr>
                <th>总分</th><td>1</td><td>2</td><td>3</td>
            </tr>
        </tfoot>
    </table>
</body>

  1. 表头用th,td里全部是数据;
  2. 浏览器会自动纠正colgroup,thead,tbody,tfoot的顺序;
  3. 浏览器会自动补齐tbody;thead等不写也会并入tbody,所有按照写的顺序展示。
  4. 属性见:https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/table

什么是空标签

一个空元素(empty element)可能是 HTML,SVG,或者 MathML 里的一个不可能存在子节点(例如内嵌的元素或者元素内的文本)的element。


HTML,SVG 和 MathML 的规范都详细定义了每个元素能包含的具体内容(define very precisely what each element can contain)。许多组合是没有任何语义含义的,比如一个<audio>元素嵌套在一个<hr>元素里。


在 HTML 中,通常在一个空元素上使用一个闭标签是无效的。例如,<input type="text"></input>的闭标签是无效的 HTML。

在 HTML 中有以下这些空元素:

  • <area>

  • <base>

  • <br>

  • <col>

  • <colgroup>when the [span](https://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/colgroup#attr-span)is present

  • <command>

  • <embed>

  • <hr>

  • <img>

  • <input>

  • <keygen>

  • <link>

  • <meta>

  • <param>

  • <source>

  • <track>

  • <wbr>

什么是可替换标签

CSS 里,可替换元素(replaced element)的展现不是由CSS来控制的。这些元素是一类 外观渲染独立于CSS的 外部对象。 典型的可替换元素有<img><object><video>和 表单元素,如<textarea><input>。 某些元素只在一些特殊情况下表现为可替换元素,例如 <audio><canvas>。 通过 CSS content 属性来插入的对象 被称作 匿名可替换元素(anonymous replaced elements)。
CSS在某些情况下会对可替换元素做特殊处理,比如计算外边距和一些auto值。
需要注意的是,一部分(并非全部)可替换元素,本身具有尺寸和基线(baseline),会被像vertical-align之类的一些 CSS 属性用到。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

柴犬Clay

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值