HTML 常用标签

1. iframe 标签

iframe 标签主要用途是嵌套页面,目前使用较少,只有一些遗留项目在用。具体可以参考<iframe>
需要新开一个窗口,速度比较慢。

  • iframe直接使用
<iframe src="https://www.baidu.com" frameborder="0"></iframe>

直接打开新页面,内容为百度。

  • iframe与a标签配合使用(name属性)
<iframe src="#" frameborder="0" name="xxx"></iframe>
<a target="xxx" href="http://www.qq.com">QQ</a>
<a target="xxx" href="htttp://www.baidu.com">百度</a>

此a标签会在name为"xxx"的窗口打开。

  • src:要打开的路径。
  • name:可以通过设置iframe里面a标签的target属性,然后设置一样的name属性值,就可以在* iframe中访问a标签里面的链接。
  • -iframeborder:设置iframe的边框,一般需要写iframeborder="0"。
  • 不写frameborder="0"的话,iframe会出现一个默认的border为1,所以是为了消除border。

2. a 标签

a 标签主要用途是跳转页面(HTTP GET 请求)。具体可以参考<a>

  • target 属性
<a href="http://qq.com" target="_blank">blank-QQ</a>
<a href="http://qq.com" target="_self">self-QQ</a>
<a href="http://qq.com" target="_parent">parent-QQ</a>
<a href="http://qq.com" target="_top">top-QQ</a>

_blank----新窗口打开
_self----当前页面加载(默认)
_parent----在上级窗口打开(父页面)
_top----在最顶级窗口打开(祖宗页面)

  • download 属性
<a href="http://qq.com" download>下载</a>

关于下载:

(1) 由 http 响应决定,若响应的的 content-type 写为content-type: application/octet-stream,浏览器会以下载的形式接受这个请求,而不是在页面上展示。
(2) 若写为content-type: text/html,只能在a标签上写个download,强制下载。

此属性指示浏览器下载URL而不是导航到它,因此将提示用户将其保存为本地文件。如果属性有一个值,那么它将在Save提示符中作为预填充的文件名使用(如果用户需要,仍然可以更改文件名)。
(如果不想用此方法设置下载,也可以设置http响应的content-type:application/octet-stream)

  • href 属性
    href 属性的几种写法:
1\. <a href="http://qq.com" >QQ</a>
   <a href="https://qq.com" >QQ</a> 
2\. <a href="//qq.com" >QQ</a>              //无协议的绝对地址
3\. <a href="./xxx.html" >xxx</a>             //相对路径
   <a href="?name=qqq" >xxx</a>      //?name=qqq直接加在当前页面后面
   <a href="#ssss" >xxx</a>             //同上,但不发起请求
4\. <a href="javascript:alert(1);">xxx</a>    //伪协议(看似与http同等的协议)
   <a href="javascript:;">xxx</a>          //点击后什么都不做的a链接

注意: 可以使用 href="#top" 或者 href="#" 链接返回到页面顶部。这种行为是HTML5的特性。

(1)写代码时一般指定为 http 协议,不用 file 协议。
(2)<a href="//qq.com" >QQ</a> 表示“无协议绝对路径”,即当前文件是什么协议,它就是什么协议(一般为 file 协议)
(3)<a href="qq.com" >QQ</a> 打不开,因为qq.com是一个相对地址,相当于一个文件
(4)<a href="#ssss" >xxx</a> 直接跳转到 xxx.html/#ssss,但因为是锚点,所以不发起请求(只有锚点不发起请求,锚点作用是实现页面内跳转)
(5)<a href="javascript:;" >xxx</a> 伪协议的应用:点击之后不需要任何动作的 a 标签
(6)<a href="">link</a> 当前页面刷新
(7)<a href="#">link</a> 页面锚点变成“#”或页面滚动到顶部(“#” 包含了一个位置信息,默认的锚点是 #top)

  • a 标签属性具体可以参考<a>

3. form 标签

跳转页面(HTTP POST 请求)

  • form 标签的作用是用于将其他表单标签“包”起来,以便作为一个整体,可以提交数据到服务器。
<form action="index2.html" method="post" target="_blank">
    <input type="text" name="username">
    <input type="text" name="password">
    <input type="submit" value="提交">
</form>

如上面代码所示,此时如果输入用户名zql,密码123。
则post请求中的第二部分的Content-Type:application/x-www-form-urlencoded
根据这个类型,会把输入内容显示在第四部分。username=zql&password=123用&符号连接。如果输入的是中文,浏览器会把中文变成Unicode的UTF-8编码,两个字符一对,用%隔开。比如输入用户名你好,密码密码,第四部分会变为username=%E4%BD%A0%E5%A5%BD&password=%E5%AF%86%E7%A0%81。其中【你】的编码就为 E4 BD A0。
注意点:

form 标签中没有提交按钮则无法提交这个 form,除非你用 js
form 标签主只支持 GET 请求和 POST 请求,但主要用来提交 POST 请求
发送 POST 请求时,from 标签中的 input 标签的 name 属性会被当做 HTTP 请求的第四部分(Form Data)的 key
发送 GET 请求时,from 标签中的 input 标签的 name 属性会被当做 url 的查询参数
(你可以通过修改 from 标签的 action 来使得 POST 请求支持查询参数,但不能使得 GET 请求有第四部分。)

  • form 发起的是 post 请求。
  • name:给该表单命名,用于JS技术使用;
    (1)name 最终会被带到 post 请求的第四部分,成为它的 key;
    (2)如果 form 标签里的 input 不加 name 属性,那么在表单提交时,input 的值就不会出现在请求里。
  • action="URL" :指定 form 表单向何处发送数据
  • method="get / post":以何种方式向服务器发送数据
    method 取 get 会把参数默认放到查询参数里面,则不会出现第四部分;取 post 会把参数默认放在第四部分,不会出现查询参数。我们可以通过给 action 加参数,让 post 也有查询参数,但没有任何方法让 get 请求拥有第四部分。
  • enctype="string":规定表单数据以什么形式进行编码。
  • form 标签也有 target,且规则和 a 标签一样。
  • form 属性具体可以参考<form>

4. input / button 标签

input 标签具体可以参考 <input>
button 标签具体可以参考 <button>

区别:是否为“ 空标签”;
input 没有子元素,button 有 span 等子元素。

  • 写 button 按钮时若不写 type,它会自动升级为提交按钮;
    若写了 type,按钮则按 type 指定类型显示。
<form action="index2.html" method="post" target="_blank">
    <button>button</button>                 //自动升级为提交按钮
    <button type="button">button</button>          //普通button按钮
</form>

  • 写 input 时,type 指定为什么类型,就是什么类型。
    input 标签有很多种type。
<form action="index2.html" method="post" target="_blank">
    <input type="button" value="button">       //普通button按钮
    <input type="submit" value="submit">       //提交按钮
</form>

(1)submit 是唯一能确定 form 表单能不能点击提交的按钮。
(2)有提交键时按回车即可跳转。

  • 用 label 标签将 input 标签包起来,可以直接产生类似<input type="checkbox" name="cb" id="cb"><label for="cb">checkbox</label>的关联效果
  • input 标签的 type 为radio,几个 input 标签的 name 一致时,才会有不被同时选中的效果

在form中input的几种特殊情况

  1. 如果一个form里面只有一个按钮(<button>标签),它就会自动升级为提交(submit)按钮。
  2. input标签的type必须为submit,才能够提交,如果为button就是一个普通的按钮。
  3. 如果给button标签的type属性也设置为button,那么也只是一个普通的按钮。

  • checkbox:(多选框)

可以同时勾选多个框;name相同,表明这是同一个事物的选项。

(1)label 的 for 和 input 的 id 是对应的,要成对出现

<form action="index2.html" method="post" target="_blank">
    <input type="checkbox">爱我              //点“爱我”无反应
    <input type="checkbox" id="xxx"><label for="xxx">爱我</label>  //点“爱我”也可勾选
</form>

(2)也可用 label 标签包裹住 input (简单,比较常用)

<form action="index2.html" method="post" target="_blank">
    喜欢的水果
    <label><input type="checkbox" name="fruit" value="orange">橘子</label>
    <label><input type="checkbox" name="fruit" value="banana">香蕉</label>
    //点“橘子”和“香蕉”也可勾选选框
</form>

checkbox: 复选框。必须使用 value 属性定义此控件被提交时的值。使用 checked 属性指示控件是否被选择。小技巧:用label标签把input包起来,可以关联文字。

  • radio:(单选框)

name相同时,只能勾选其中一个框。

<form action="index2.html" method="post" target="_blank">
   爱我
    <label><input type="radio" name="loveme" value="yes"></label>
    <label><input type="radio" name="loveme" value="no"></label>
</form>

radio:单选框。必须使用 value 属性定义此控件被提交时的值。使用checked 必须指示控件是否缺省被选择。在同一个”单选按钮组“中,所有单选按钮的name 属性使用同一个值; 一个单选按钮组中是,同一时间只有一个单选按钮可以被选择。

  • password:密码输入框

虽然输入时看不到密码,但实际还是明文传输的。

5. select 标签

下拉选择框。

所有属性:select

<form>
    <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>
</form>

  • select 加 multiple 属性,可按着shift或ctrl实现多选。
<select name="group" multibple>

6. textarea 标签

多行文本输入框。
所有属性:textarea

<textarea style="resize:none; width:100px; height:50px;" name="爱好"></textarea>

  • 文本框可以随意拉动大小,防止出现bug,常用css固定大小(宽、高也可以用行、列替代)。

7. table 标签

以表格的形式展示数据。

<table border=1>    //表格加边框
    <colgroup>           //colgroup里面有col属性才有意义
        <col width=100>    //第一列宽度(px)
        <col width=200>    //bgcolor已不常用,现一般用css控制
        <col width=100>
        <col width=100>
    </colgroup>
    <thead>
        <tr>
            <th>项目</th><th>姓名</th><th>班级</th><th>分数</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <th>1</th><td>小明</td><td>一班</td><td>94</td>
        </tr>
        <tr>
            <th>2</th><td>小红</td><td>二班</td><td>96</td>
        </tr>
    </tbody>
    <tfoot>
        <tr>
            <th>平均分</th><td></td><td></td><td>95</td>
        </tr>
        <tr>
            <th>总分</th><td></td><td></td><td>190</td>
        </tr>
    </tfoot>
</table>

  • thead:table head 、tbody:table body 、tfoot:table foot
    tr:table row(行)、td:table data(数据)、th:table header(标题)
  • thead、tbody、tfoot 的内容与三个标签排放顺序无关,不影响内容显示。
  • 不写 tbody,系统会自动补上;
    不写 thead 和 tfoot,就没有表头和表尾,内容统统放在 tbody 里。会按照写的顺序来展示
  • table 的 border 默认是有空间的,可以在 CSS 中设置border-collapse: collapse;改为没有空隙,让它们合并起来:
    <style>
        table{
            border-collapse: collapse;
        }
    </style>

8. 表单元素总结

单行文本框:<input type="text">,默认值是type="text"
密码框:<input type="password">
单选按钮:<input type="radio">
多选按钮:<input type="checkbox">
隐藏框:<input type="hidden">
文件上传:<input type="file">
下拉框:<select></select>
多行文本:<textarea></textarea>
标签:<label></label>
元素集:<fieldset></fieldset>
提交按钮:<input type="submit">
普通按钮:<input type="button">
重置按钮:<input type="reset">

9. noscript 标签

如果用户浏览器不支持 script,则会显示 noscript 中的内容。

10. 空标签

空标签:即空元素,是指有内容的元素,即没有子元素(包括文本)的元素。

  • 空标签是不闭合的标签,不成对出现
  • 在 HTML 中,通常在一个空元素上使用一个闭标签是无效的。例如, <input type="text"></input> 的闭标签是无效的。
  • 常见空标签:
<area>
<base>
<br>
<col>
<colgroup> when the span is present.
<command>
<embed>
<hr>
<img>
<input>
<keygen>
<link>
<meta>
<param>
<source>
<track>
<wbr>

11. 替换元素

可替换元素:替换元素是浏览器根据其标签的元素与属性来判断显示具体的内容。替换元素一般没有实际内容。

  • 比如<input/>,type="text"时是一个文本输入框;取作其他的时候,浏览器显示就不一样了。
  • 可替换元素的展现不是由CSS来控制的。这些元素是一类外观渲染独立于CSS的外部对象。典型的可替换元素有<img><object><video>和表单元素,如<textarea><input>。某些元素只在一些特殊情况下表现为可替换元素,例如<audio><canvas>。通过 CSS<content>属性来插入的对象被称作匿名可替换元素。

非替换元素:HTML的大多数元素是不可替换元素,他们将内容直接告诉浏览器,将其显示出来。

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

推荐阅读更多精彩内容

  • 一、常用标签 1. iframe 标签 嵌套页面。需要新开一个窗口,速度比较慢。 iframe 直接使用 直接打开...
    养乐多__阅读 588评论 0 5
  • HTML 常用标签 Iframe标签 HTML内联框架元素 表示嵌套的浏览上下文, 有效地将另一个HTML页面嵌入...
    YjjTT阅读 421评论 0 0
  • 空标签 含义:标签里面不能有内容。在 HTML 中,通常在一个空元素上使用一个闭标签是无效的。HTML中有以下空标...
    邹沁龙阅读 2,972评论 0 0
  • 这篇文章将简单介绍几个在HTML常用的标签:iframe标签、a标签、form标签、input标签、button标...
    宣泽彬阅读 346评论 0 0
  • HTML(超文本标记语言——HyperText Markup Language)是构成 Web 世界的一砖一瓦。它...
    长鲸向南阅读 472评论 0 0