HTML 常用标签简介

199 阅读9分钟

HTML 常用标签

div 标签

div 标签用于组合其他 HTML 元素,本身无实在意义。常用于页面的布局,比如一个展开式的广告

<body>
    <div id="wrap-container">
        <div id="collapsed-container"></div>
        <div id="expanded-container"></div>
    </div>
</body>

div标签可修改

<div contenteditable="ture">你好</div>

span 标签

span 标签是短语内容的通用行内容器,并没有任何特殊语义。可以使用它来编组元素以达到某种样式意图(通过使用类或者Id属性),或者这些元素有着共同的属性,比如lang。应该在没有其他合适的语义元素时才使用它。<span><div> 元素很相似,但 <div> 是一个 块元素 而 <span> 则是 行内元素。

h1 ~ h6 标签

h1 ~ h6 用于设置文本字体大小

p 标签

p 标签表示文本的一个段落

<p>这是第一个段落。这是第一个段落。
   这是第一个段落。这是第一个段落。</p>
<p>这是第二个段落。这是第二个段落。
   这是第二个段落。这是第二个段落。</p>

strong 标签

strong 标签表示文本十分重要,一般用粗体显示。strong是一个逻辑状态,表示强调

b 标签

b 标签,一个物理状态,仅表示加粗。

ol 标签

ol 标签,用于有序列表

<ol>
    <li>li 列表项(list item)</li>
    <li>li 列表项(list item)</li>
</ol>

ul 标签

ul 标签,用于无序列表

<ul>
    <li>li 列表项(list item)</li>
    <li>li 列表项(list item)</li>
</ul>

dl dt dd 标签

dl 标签是一个包含术语定义以及描述的列表,通常用于展示词汇表或者元数据 (键-值对列表)。

<dl>
    <dt>dt 字典标题(dictionary title)</dt>
    <dd>dd 字典数据(dictionary data)
    </dd>
    <dt>dt 字典标题(dictionary title)</dt>
    <dd>dd 字典数据(dictionary data)
    </dd>
</dl>

form 标签

form 标签表示了文档中的一个区域,这个区域包含有交互控制元件,用来向web服务器提交信息。

<form action="#" method="post">
    <input name="name" id="name">
    <input name="password" id="password">
    <button name="button">Click me</button>
</form>
<form action="users" method="post">
  <input type="text" name="username">
  <input type="password" name="password">
  <input type="submit" value="提交">
</form>
<!-- 构造 /users 路径下的 post 请求, Form Data 中的数据结构是 
username=xxx&password=xxx, 这部分数据其实是放在 body 里的-->

form 标签也有 target 参数,逻辑跟 a 标签一样

form 标签 type 属性细节

<form action="users" method="post">
  <input type="text" name="username">
  <input type="password" name="password">
  <button>button</button>
</form>

没有写 type 属性,自动升级为提交按钮

<form action="users" method="post">
  <input type="text" name="username">
  <input type="password" name="password">
  <button type="button">button</button>
</form>

写了类型,点了没用,说明 form 表单没有提交按钮

<form action="users" method="post">
  <input type="text" name="username">
  <input type="password" name="password">
  <input type="button" value="button">
</form>

这也不能提交,只是个普通按钮

<form action="users" method="post">
  <input type="text" name="username">
  <input type="password" name="password">
  <input type="submit" value="button">
</form>

属性是 submit,可以提交

<input type="checkbox">爱我

出现正方形的勾选框,只能点击勾选框有反应

<input type="checkbox" id="xxx"><label for="xxx">爱我</label>

点击爱我,就等于点击了勾选框

<form action="users" method="post">
  <label for="xxx">用户名</label><input type="text" name="username" id="xxx">
  <label for="yyy">密码</label><input type="password" name="password" id="yyy">
  <input type="submit" value="button">
</form>

点击用户名或密码,光标就跳到对应的输入框内

<form action="users" method="post">
  <label>用户名<input type="text" name="username"></label> 
  <label>密码<input type="password" name="password"></label>
  <input type="submit" value="button">
</form>

这样写,不用 id 也跟上面同样效果

<form action="users" method="get">
  <label>用户名<input type="text" name="username"></label> 
  <label>密码<input type="password" name="password"></label>
  喜欢的水果
  <label><input type="checkbox" name="fruit" value="orange">橘子</label>
  <label><input type="checkbox" name="fruit" value="banana">香蕉</label>
  爱我
  <label><input type="radio" name="loveme" value="yes">yes</label>
  <label><input type="radio" name="loveme" value="no">no</label>
  <select name="group">
    <option value="">-</option>
    <option value="1">第一组</option>
    <option value="2">第二组</option>
    <option value="3" disabled>第三组</option>
    <option value="4" selected>第四组</option>
  </select>
  <input type="submit" value="button">
</form>

输入用户名密码勾选橘子香蕉,单选框选中 yes,选项默认第四组,选择第一组, 点击提交按钮,发送 get 请求,请求地址为: localhost:8080/users?username=1&password=2&fruit=orange&fruit=banana&loveme=yes&group=1

<select name="group multiple">
  <option value="">-</option>
  <option value="1">第一组</option>
  <option value="2">第二组</option>
  <option value="3" disabled>第三组</option>
  <option value="4" selected>第四组</option>
</select>

select 有 multiple 属性,按住 Ctrl 键可以多选

button 标签

button 标签表示一个可点击的按钮,可以用在表单或文档其它需要使用简单标准按钮的地方。

<form action="#" method="post">
    <input name="name" id="name">
    <input name="password" id="password">
    <button name="button">提交</button>
</form>

table 标签

table 标签表示表格数据 — 即通过二维数据表表示的信息。

<table>
  <tr>
    <th>First name</th>
    <th>Last name</th>
  </tr>
  <tr>
    <td>John</td>
    <td>Doe</td>
  </tr>
  <tr>
    <td>Jane</td>
    <td>Doe</td>
  </tr>
</table>
<table>
  <thead>
    <tr>
      <th>班级</th><th>姓名</th><th>分数</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>1</td><td>小明</td><td>93</td>
    </tr>
  </tbody>
  <tfoot>
    <tr>
      <td>2</td><td>小红</td><td>90</td>
    </tr>
  </tfoot>
</table>

textarea 标签

textarea 标签表示一个多行纯文本编辑控件。 用于多行文本输入。

<textarea id="story" name="story"
          rows="5" cols="33">
It was a dark and stormy night...
</textarea>
<textarea style="resize=none; width:200px;height:100px;"
 name="爱好" cols="30" rows="10"></textarea>

用 style 控制文本框的大小或用 cols 或 rows 控制

img 标签

img 标签用于链接图片,alt 这个属性定义了描述图像的替换文本。用户将看到这个显示,如果图像的URL是错误的,该图像不在 支持的格式 列表中,或者如果图像还没有被下载。

<img src="#" alt="图片" />

canvas 标签

canvas 标签提供了一个空白绘图区域,可以使用 APIs (比如 Canvas 2D 或 WebGL)来绘制图形。

<canvas id="canvas" width="宽度" height="高度">
  您的浏览器不支援canvas元素(此信息在浏览器不支援canvas元素时显示)
</canvas>

a 标签

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

<p>You can reach Michael at:</p>

<ul>
  <li><a href="https://example.com">Website</a></li>
  <li><a href="mailto:m.bluth@example.com">Email</a></li>
  <li><a href="tel:+123456789">Phone</a></li>
</ul>

iframe 标签

iframe 标签是在当前网页嵌套一个目标网页

<iframe name=xxx src="#" frameboder="0"></iframe>
<a target=xxx href="http://qq.com">QQ</a>
<a target=xxx href="http://baidu.com">baidu</a>

a 标签间的区别

<a href="http://qq.com" target="_blank">QQ</a>
// 在空页面打开

<a href="http://qq.com" target="_self">QQ</a>
// 在自己页面打开,如果嵌套在iframe中,就在iframe中打开

<a href="http://qq.com" target="_parent">QQ</a>
// 在父节点页面打开

<a href="http://qq.com" target="_top">QQ</a>
// 在祖先节点页面打开

<a href="http://qq.com" download>下载</a>
// 下载页面
// 不设置 download 属性,如果 http 的 
// Content-type: application/octet-stream 会以下载的方式接收请求

a 标签的 href 细节问题

<a href="qq.com">QQ</a>

会将 qq.com 当作文件处理,加到当前网址后面

<a href="//qq.com">QQ</a>

当前文件是什么协议,就以什么协议打开。 若想以 http 协议打开,可以上传到 github 浏览方式打开,或启用本地的 nodejs server

npm i -g http-server
http-server -c -1 // 不用缓存启动本地nodejs server

<a href="xxx.html">QQ</a>
// 跳转到/xxx.html ,根目录下的xxx.html

<a href="#tx01">QQ</a>
// 锚点,直接加到网址上,本页锚点定位,不会发请求

<a href="?name=ben">QQ</a>
// 后缀直接加到网址上,发送一个带参数的 get 请求

<a href="javascript: alert(1);">QQ</a>
// 伪协议,点击出现 alert 窗口

<a href="javascript:;">QQ</a>
// 什么也不会做

<a href="">QQ</a>
// 发送一个 get 请求到自身网址,刷新页面
<br>

<p>hi</p>
<p>hi</p>
<p>hi</p>
<p>hi</p>
<p>hi</p>
<p>hi</p>
<p>hi</p>
<p>hi</p>
<p>hi</p>
<a href="#">QQ</a>// 点击,页面动一下,跳到 p 标签位置

正确的插入背景图片

<body style="background-image:url(background.gif)">

article 标签

article 标签表示文档、页面、应用或网站中的独立结构,其意在成为可独立分配的或可复用的结构,如在发布中,它可能是论坛帖子、杂志或新闻文章、博客、用户提交的评论、交互式组件,或者其他独立的内容项目。​​

section 标签

section 标签表示一个包含在HTML文档中的独立部分,它没有更具体的语义元素来表示,一般来说会有包含一个标题。(章节)

& 特殊符号在 HTML 中要转义处理

转义为

&amp;

参考链接:

MDN