前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >07·灵魂前端工程师养成-HTML重难点

07·灵魂前端工程师养成-HTML重难点

作者头像
DriverZeng
发布2022-10-31 17:57:50
1.3K0
发布2022-10-31 17:57:50
举报

-曾老湿, 江湖人称曾老大。


-多年互联网运维工作经验,曾负责过大规模集群架构自动化运维管理工作。 -擅长Web集群架构与自动化运维,曾负责国内某大型金融公司运维工作。 -devops项目经理兼DBA。 -开发过一套自动化运维平台(功能如下): 1)整合了各个公有云API,自主创建云主机。 2)ELK自动化收集日志功能。 3)Saltstack自动化运维统一配置管理工具。 4)Git、Jenkins自动化代码上线及自动化测试平台。 5)堡垒机,连接Linux、Windows平台及日志审计。 6)SQL执行及审批流程。 7)慢查询日志分析web界面。


HTML 前戏


HTML所需英文单词

英语

翻译

hyper

超级

target

目标

reference

引用

frame

边框,框架

error

错误

blank

空白

parent

父母之一

self

自己

load

加载

canvas

画布

a标签介绍


a标签

a标签特别长用,但是很多人并不会使用。

属性: 1.href 2.target 3.download 4.rel=noopener

作用: 跳转外部页面 跳转内部锚点 跳转到邮箱或电话等

在VScode中,写完代码,直接启动http服务,打开页面

代码语言:javascript
复制
#安装http
MacBook-Pro:html-demo-2 driverzeng$ yarn global add http-server
MacBook-Pro:html-demo-2 driverzeng$ http-server -c-1
Starting up http-server, serving ./
Available on:
  http://127.0.0.1:8080
  http://192.168.1.103:8080
  http://192.168.1.107:8080
  
#安装 parcel
MacBook-Pro:html-demo-2 driverzeng$ yarn global add parcel

写一个a标签,设置超链接,此时会直接在当前窗口打开新的页面。

代码语言:javascript
复制
<!DOCTYPE html>
<html lang="zh-CN">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta http-equiv="X-UA-Compatible" content="ie=edge" />
    <title>Document</title>
  </head>
  <body>
    <a href="https://blog.driverzeng.com">超链接</a>
  </body>
</html>

使用target指定开启的位置

代码语言:javascript
复制
<!DOCTYPE html>
<html lang="zh-CN">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta http-equiv="X-UA-Compatible" content="ie=edge" />
    <title>Document</title>
  </head>
  <body>
    <a href="https://blog.driverzeng.com" target="_blank">超链接</a>
  </body>
</html>

a标签的href


a标签href的取值

网址: 1.https://blog.driverzeng.com

代码语言:javascript
复制
  <body>
    <a href="https://blog.driverzeng.com" target="_blank">超链接</a>
  </body> 

2.https://blog.driverzeng.com

代码语言:javascript
复制
  <body>
    <a href="https://blog.driverzeng.com" target="_blank">超链接</a>
  </body> 

3.//driverzeng.com

代码语言:javascript
复制
  <body>
    <a href="//driverzeng.com" target="_blank">超链接</a>
  </body> 

路径: 1./a/b/c/c.html

代码语言:javascript
复制
  <body>
    <a href="/a/b/c/c.html" target="_blank">超链接</a>
  </body> 

2.a/b/c/index.html

代码语言:javascript
复制
  <body>
    <a href="a/b/c/c.html" target="_blank">超链接</a>
  </body> 

3.index.html 或者 ./index.html

代码语言:javascript
复制
  <body>
    <a href="./index.html" target="_blank">超链接</a>
  </body> 

伪协议:

1.JavaScript伪协议

代码语言:javascript
复制
  <body>
    <a href="javascript:alert(1);">Javascript伪协议</a>
  </body>

产品经理需求,一个什么都不做的a标签

代码语言:javascript
复制
  <body>
    <a href="javascript:;">查看</a>
  </body>

在VScode中,输入p{$}*30就可以瞬间出现1-30的数字,竖着排列在页面上,我们来测试下面功能

代码语言:javascript
复制
<!DOCTYPE html>
<html lang="zh-CN">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta http-equiv="X-UA-Compatible" content="ie=edge" />
    <title>Document</title>
  </head>
  <body>
    <p>1</p>
    <p id="xxx">2</p>
    <p>3</p>
    <p>4</p>
    <p>5</p>
    <p>6</p>
    <p>7</p>
    <p>8</p>
    <p>9</p>
    <p>10</p>
    <p>11</p>
    <p>12</p>
    <p>13</p>
    <p>14</p>
    <p>15</p>
    <p>16</p>
    <p>17</p>
    <p>18</p>
    <p>19</p>
    <p>20</p>
    <p>21</p>
    <p>22</p>
    <p>23</p>
    <p>24</p>
    <p>25</p>
    <p>26</p>
    <p>27</p>
    <p>28</p>
    <p>29</p>
    <p>30</p>
    <a href="https://blog.driverzeng.com" target="_blank">超链接</a>
    <a href="/a/b/c/c.html" target="_blank">c.html</a>
    <a href="javascript:alert(1);">Javascript伪协议</a>
    <a href="javascript:;">查看</a>
    <a href="#">回到顶部</a>
    <a href="#xxx">跳转到xxx</a>
  </body>
</html>

2.mailto:邮件伪协议

代码语言:javascript
复制
    <a href="mailto:253097001@qq.com">发邮件给曾老湿</a>

自动呼出邮件工具

3.tel:手机号 打电话伪协议

代码语言:javascript
复制
    <a href="tel:13023456784">打电话给xxx</a>

a标签的target

先写一个iframe页面,页面中嵌套 页面。

代码语言:javascript
复制
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta http-equiv="X-UA-Compatible" content="ie=edge" />
    <title>Document</title>
  </head>
  <body style="background-color: blue;color:gold;">
    我是 iframe
  </body>
</html>

在target中调用 页面

代码语言:javascript
复制
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta http-equiv="X-UA-Compatible" content="ie=edge" />
    <title>Document</title>
  </head>
  <body>
    <a href="https://blog.driverzeng.com">博客</a>
    <a href="https://blog.driverzeng.com" target="_blank">博客在新窗口打开</a>
    <a href="https://blog.driverzeng.com" target="_self">博客在当前窗口打开</a>
    <a href="https://blog.driverzeng.com" target="_top">博客在顶级窗口打开</a>

    <div>
      <iframe src="a-target-iframe.html" frameborder="0"></iframe>
    </div>
  </body>
</html>


当前页面打开新页面

target _self

代码语言:javascript
复制
  <body style="background-color: blue;color:gold;">
    我是 iframe
    <a href="https://blog.driverzeng.com" target="_self">当前页面打开 博客</a>
  </body>


顶级页面打开

target _top

代码语言:javascript
复制
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta http-equiv="X-UA-Compatible" content="ie=edge" />
    <title>Document</title>
  </head>
  <body style="background-color: blue;color:gold;">
    我是 iframe
    <a href="https://blog.driverzeng.com" target="_top">当前页面打开 博客</a>
  </body>
</html>

父级窗口打开

再写一个iframe页面

代码语言:javascript
复制
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta http-equiv="X-UA-Compatible" content="ie=edge" />
    <title>Document</title>
  </head>
  <body style="background-color: greenyellow;color:red;">
    我是 iframe2
    <a href="https://blog.driverzeng.com" target="_parent">父级页面打开 博客</a>
  </body>
</html>

然后在第一个iframe页面中,调用第二个iframe

代码语言:javascript
复制
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta http-equiv="X-UA-Compatible" content="ie=edge" />
    <title>Document</title>
  </head>
  <body style="background-color: blue;color:gold;">
    我是 iframe
    <a href="https://blog.driverzeng.com" target="_top">当前页面打开 博客</a>
    <iframe src="a-target-iframe2.html" frameborder="0"></iframe>
  </body>
</html>

在target里调用iframe

代码语言:javascript
复制
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta http-equiv="X-UA-Compatible" content="ie=edge" />
    <title>Document</title>
  </head>
  <body>
    <a href="https://blog.driverzeng.com">博客</a>
    <a href="https://blog.driverzeng.com" target="_blank">博客在新窗口打开</a>
    <a href="https://blog.driverzeng.com" target="_self">博客在当前窗口打开</a>
    <a href="https://blog.driverzeng.com" target="_top">博客在顶级窗口打开</a>

    <div>
      <iframe
        width="1000"
        height="1000"
        src="a-target-iframe.html"
        frameborder="0"
      ></iframe>
    </div>
  </body>
</html>

此时如果点击"父级页面打开博客",那么蓝色的iframe就会把博客打开。


自定义窗口名称

代码如下,当我们多个a标签的target都叫一个名字的时候,例如:xxx

代码语言:javascript
复制
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta http-equiv="X-UA-Compatible" content="ie=edge" />
    <title>Document</title>
  </head>
  <body>
    <a href="https://blog.driverzeng.com" target="xxx">博客</a>
    <a href="https://www.baidu.com" target="xxx">百度</a>
  </body>
</html>

此时我们点开百度就会在新的窗口中,打开百度。

如果我们再点开博客就会在百度所在的那个窗口中,打开博客

此时,我们打开网页调试,在console中输入window.name就可以看见当前窗口的名字


将窗口开在iframe中

代码语言:javascript
复制
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta http-equiv="X-UA-Compatible" content="ie=edge" />
    <title>Document</title>
  </head>
  <body>
    <a href="https://blog.driverzeng.com" target="xxx">博客</a>
    <a href="https://www.baidu.com" target="yyy">百度</a>
    <hr />
    <iframe src="" name="xxx"></iframe>
    <hr>
    <iframe src="" name="yyy"></iframe>
  </body>
</html>

调整代码,做一个多网站的集合,例如

代码语言:javascript
复制
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta http-equiv="X-UA-Compatible" content="ie=edge" />
    <title>Document</title>
  </head>
  <body>
    <a href="https://blog.driverzeng.com" target="xxx">博客</a>
    <a href="https://www.baidu.com" target="xxx">百度</a>
    <hr />
    <iframe
      style="border: none; width: 100%; height: 800px;"
      src=""
      name="xxx"
    ></iframe>
  </body>
</html>

table标签

在table标签中,只能用如下3个标签: thead tbody tfoot

代码语言:javascript
复制
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta http-equiv="X-UA-Compatible" content="ie=edge" />
    <title>Document</title>
  </head>
  <body>
    <table>
      <thead></thead>
      <tbody></tbody>
      <tfoot></tfoot>
    </table>
  </body>
</html>

单表头

tr:table row : 表示 行 th:table head: 表示 表头 td:table data: 表示 数据

代码语言:javascript
复制
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta http-equiv="X-UA-Compatible" content="ie=edge" />
    <title>Document</title>
  </head>
  <body>
    <table>
      <thead>
        <tr>
          <th>英语</th>
          <th>翻译</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <td>hyper</td>
          <td>超级</td>
        </tr>
        <tr>
          <td>target</td>
          <td>目标</td>
        </tr>
        <tr>
          <td>reference</td>
          <td>引用</td>
        </tr>
      </tbody>
      <tfoot></tfoot>
    </table>
  </body>
</html>


两个表头

代码语言:javascript
复制
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta http-equiv="X-UA-Compatible" content="ie=edge" />
    <title>Document</title>
  </head>
  <body>
    <table>
      <thead>
        <tr>
          <th></th>
          <th>小红</th>
          <th>小明</th>
          <th>小颖</th>
        </tr>
      </thead>
      <tbody>
        <tr>
          <th>数学</th>
          <td>61</td>
          <td>91</td>
          <td>85</td>
        </tr>
        <tr>
          <th>语文</th>
          <td>78</td>
          <td>88</td>
          <td>99</td>
        </tr>
        <tr>
          <th>英语</th>
          <td>100</td>
          <td>28</td>
          <td>38</td>
        </tr>
      </tbody>
      <tfoot>
        <tr>
          <th>总分</th>
          <td>250</td>
          <td>180</td>
          <td>200</td>
        </tr>
      </tfoot>
    </table>
  </body>
</html>


表单相关样式

1.table-layout

代码语言:javascript
复制
/* Keyword values */
table-layout: auto;
table-layout: fixed;

/* Global values */
table-layout: inherit;
table-layout: initial;
table-layout: unset;

auto 大多数浏览器采用自动表格布局算法对表格布局。表格及单元格的宽度取决于其包含的内容。 说白了,就是根据字数自动调整宽度,根据内容来调整。

fixed 表格和列的宽度通过表格的宽度来设置,某一列的宽度仅由该列首行的单元格决定。在当前列中,该单元格所在行之后的行并不会影响整个列宽。

说白了,就是等宽的,不会根据字数或者内容来调整。

代码语言:javascript
复制
    <style>
      table {
        table-layout: auto;
      }

      th,td{
          border:1px solid blue;
      }
    </style>

 设置表格,但是table默认的样式,表格之间的线是有间距的。

代码语言:javascript
复制
    <style>
      table {
        width: 600px;
        table-layout: auto;
      }

      th,
      td {
        border: 1px solid blue;
      }
    </style>

给表格设置宽度

2.border-collapse 调整 表格之间的间隙

代码语言:javascript
复制
    <style>
      table {
        width: 600px;
        table-layout: auto;
        border-spacing: 10px;
      }

      th,
      td {
        border: 1px solid blue;
      }
    </style>

3.border-spacing 将边框合并

代码语言:javascript
复制
    <style>
      table {
        width: 600px;
        table-layout: auto;
        border-spacing: 0;
        border-collapse: collapse;
      }

      th,
      td {
        border: 1px solid blue;
      }
    </style>

img标签

图片标签

先从网上下载一个图片,拖入到VScode中

代码语言:javascript
复制
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta http-equiv="X-UA-Compatible" content="ie=edge" />
    <title>Document</title>
  </head>
  <body>
    <img src="girl.jpeg" alt="" />
  </body>
</html>


作用

发出一个get请求,展示一张图片


属性

1.alt 如果加载不出来,可以用文字代替,告诉用户,什么图片没加载出来

代码语言:javascript
复制
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta http-equiv="X-UA-Compatible" content="ie=edge" />
    <title>Document</title>
  </head>
  <body>
    <img src="girlx.jpeg" alt="一个二次元图片加载失败" />
  </body>
</html>

2.height 高度

如果写了高度,那么宽度会自适应

代码语言:javascript
复制
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta http-equiv="X-UA-Compatible" content="ie=edge" />
    <title>Document</title>
  </head>
  <body>
    <img height="400" src="girl.jpeg" alt="一个二次元图片加载失败" />
  </body>
</html>

3.width 宽度

如果写了宽度,那么高度会自适应

代码语言:javascript
复制
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta http-equiv="X-UA-Compatible" content="ie=edge" />
    <title>Document</title>
  </head>
  <body>
    <img width="400" src="girl.jpeg" alt="一个二次元图片加载失败" />
  </body>
</html>

注意:如果两个都写...图片会变形

代码语言:javascript
复制
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta http-equiv="X-UA-Compatible" content="ie=edge" />
    <title>Document</title>
  </head>
  <body>
    <img width="400" height="400" src="girl.jpeg" alt="一个二次元图片加载失败" />
  </body>
</html>

一个前端工程师的底线:永远不要让图片变形

4.src 图片的地址


事件

监听图片是否加载成功,如果加载成功就调用:onload,如果加载失败就调用:onerror

1.onload 2.onerror

代码语言:javascript
复制
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta http-equiv="X-UA-Compatible" content="ie=edge" />
    <title>Document</title>
  </head>
  <body>
    <img
      id="xxx"
      width="400"
      src="girl.jpeg"
      alt="一个二次元图片加载失败"
    />
    <script>
      xxx.onload = function() {
        console.log("图片加载成功");
      };

      xxx.onerror = function() {
        console.log("图片加载失败");
      };
    </script>
  </body>
</html>

我们让图片加载失败

代码语言:javascript
复制
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta http-equiv="X-UA-Compatible" content="ie=edge" />
    <title>Document</title>
  </head>
  <body>
    <img id="xxx" width="400" src="girlx.jpeg" alt="一个二次元图片加载失败" />
    <script>
      xxx.onload = function() {
        console.log("图片加载成功");
      };

      xxx.onerror = function() {
        console.log("图片加载失败");
      };
    </script>
  </body>
</html>

此时,我们可以做一个图片的挽救...准备一个新图片,或者404图片,拖入到VScode中

代码语言:javascript
复制
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta http-equiv="X-UA-Compatible" content="ie=edge" />
    <title>Document</title>
  </head>
  <body>
    <img id="xxx" width="400" src="girlx.jpeg" alt="一个二次元图片加载失败" />
    <script>
      xxx.onload = function() {
        console.log("图片加载成功");
      };

      xxx.onerror = function() {
        console.log("图片加载失败");
        xxx.src = "/404.jpeg";
      };
    </script>
  </body>
</html>


响应式

max-width:100%

在我们浏览器中,访问图片,和手机中可能会有所不同。

在浏览器中,我们访问,很正常,但是手机上,图片显示的就不是完整的, 我们需要拖动,才能看的完整。

此时,我们需要用到响应式。

代码语言:javascript
复制
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta http-equiv="X-UA-Compatible" content="ie=edge" />
    <title>Document</title>
    <style>
      * {
        margin: 0;
        padding: 0;
        box-sizing: border-box;
      }
      img {
        max-width: 100%;
      }
    </style>
  </head>
  <body>
    <img id="xxx" src="girl.jpeg" alt="一个二次元图片加载失败" />
  </body>
</html>

这个时候,不管是怎么切换手机或者pad的屏幕,图片都会自动调整大小

form 标签


作用

作用和img差不多,发送get或者post请求,然后刷新页面


属性

1.action action后面填写的是,需要请求的页面,后端的内容,此时写一个/xxx请求不到的页面。

代码语言:javascript
复制
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta http-equiv="X-UA-Compatible" content="ie=edge" />
    <title>Document</title>
  </head>
  <body>
    <form action="/xxx">
      <input type="text" />
      <input type="submit" />
    </form>
  </body>
</html>

2.method

更改请求方式,将get 改为 post

代码语言:javascript
复制
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta http-equiv="X-UA-Compatible" content="ie=edge" />
    <title>Document</title>
  </head>
  <body>
    <form action="/xxx" method="POST">
      <input type="text" />
      <input type="submit" />
    </form>
  </body>
</html>

3.autocomplete

自动填充

代码语言:javascript
复制
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta http-equiv="X-UA-Compatible" content="ie=edge" />
    <title>Document</title>
  </head>
  <body>
    <form action="/xxx" method="POST" autocomplete="on">
      <input name="username" type="text" />
      <input type="submit" />
    </form>
  </body>
</html>

4.target

和a标签的差不多,可以是新开的页面,也可以是iframe的页面

代码语言:javascript
复制
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta http-equiv="X-UA-Compatible" content="ie=edge" />
    <title>Document</title>
  </head>
  <body>
    <form action="/xxx" method="POST" autocomplete="on" target="_blank">
      <input name="username" type="text" />
      <input type="submit" />
    </form>
  </body>
</html>

代码语言:javascript
复制
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta http-equiv="X-UA-Compatible" content="ie=edge" />
    <title>Document</title>
  </head>
  <body>
    <form action="/xxx" method="POST" autocomplete="on" target="a">
      <input name="username" type="text" />
      <input type="submit" />
    </form>

    <iframe name=a src="a-target-iframe.html" frameborder="0"></iframe>
  </body>
</html>


事件

onsubmit

在我们的代码中,从来没有写过 "提交" 这两个字,但是,在页面上,方框中却有 提交 两个字

这个就是 onsubmit 帮我们做的,根据地区,来适应哪个国家,用什么样的 '提交',我们也可以做更改

代码语言:javascript
复制
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta http-equiv="X-UA-Compatible" content="ie=edge" />
    <title>Document</title>
  </head>
  <body>
    <form action="/xxx" method="POST" autocomplete="on" target="a">
      <input name="username" type="text" />
      <input type="submit" value="搞起" />
    </form>

    <iframe name="a" src="a-target-iframe.html" frameborder="0"></iframe>
  </body>
</html>

我们还可以用button来实现 搞起 按钮

代码语言:javascript
复制
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta http-equiv="X-UA-Compatible" content="ie=edge" />
    <title>Document</title>
  </head>
  <body>
    <form action="/xxx" method="POST" autocomplete="on" target="a">
      <input name="username" type="text" />
      <input type="submit" value="搞起" />
      <button type="submit">搞起</button>
    </form>

    <iframe name="a" src="a-target-iframe.html" frameborder="0"></iframe>
  </body>
</html>

input 和 button 之间的区别是什么?

答案 就是 ... 在input里我们没法加任何东西,但是button我们还可以做修改,加标签,甚至可以放图片进去

代码语言:javascript
复制
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta http-equiv="X-UA-Compatible" content="ie=edge" />
    <title>Document</title>
  </head>
  <body>
    <form action="/xxx" method="POST" autocomplete="on" target="a">
      <input name="username" type="text" />
      <input type="submit" value="搞起" />
      <button type="submit">
        <strong>搞起</strong> <img width="100" src="/girl.jpeg" alt="" />
      </button>
    </form>

    <iframe name="a" src="a-target-iframe.html" frameborder="0"></iframe>
  </body>
</html>

注意:如果表单想要提交,触发表单,必须有type='submit'

input标签


作用

让用户输入内容


属性

类型type:

代码语言:javascript
复制
#可以加标签的按钮
button
#多选框
checkbox
#邮件
email
#输入密码,内容不可见
password
#单选
radio
#上传文件
file
#看不见的输入框
hidden
#只能输入数字
number
#查询
search
#提交输入框
submit
#电话输入框s
tel
#普通的文本,内容可见
text      

代码举例

代码语言:javascript
复制
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <meta http-equiv="X-UA-Compatible" content="ie=edge" />
    <title>Document</title>
  </head>
  <body>
    <form action="/xxx" method="POST" autocomplete="on" target="a">
      <input type="text" />
      <hr />
      <input type="color" />
      <hr />
      <input type="password" />
      <hr />
      <input type="radio" name="gender" /> 男
      <input type="radio" name="gender" /> 女
      <hr />
      <input type="checkbox" name="hobby" />唱
      <input type="checkbox" name="hobby" />跳
      <input type="checkbox" name="hobby" />rap
      <input type="checkbox" name="hobby" />篮球
      <hr />
      <input type="file" />
      <input type="file" multiple />
      <hr />
      看不见我吧?<input type="hidden" />
      <hr />
      <input type="number" />
      <hr />
      <input type="search" />
      <hr />
      <input type="email" />
      <hr />
      <input type="tel" />
      <hr />
      <textarea style="resize: none; width: 50%; height: 150px;"></textarea>
      <hr />
      <select>
        <option value="">- 请选择 -</option>
        <option value="1">星期一</option>
        <option value="2">星期二</option>
      </select>
      <hr />
      <button type="submit">
        <strong>搞起</strong>
      </button>
    </form>
  </body>
</html>

其他:

  • name
  • autofocus
  • checked
  • disabled
  • maxlength
  • pattern
  • value
  • placeholder

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019-05-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • HTML 前戏
  • a标签介绍
    • a标签的href
      • a标签的target
      • table标签
      • img标签
      • form 标签
      • input标签
      相关产品与服务
      运维安全中心(堡垒机)
      腾讯云运维安全中心(堡垒机)(Operation and Maintenance Security Center (Bastion Host))可为您的 IT 资产提供代理访问以及智能操作审计服务,为客户构建一套完善的事前预防、事中监控、事后审计安全管理体系,助力企业顺利通过等保测评。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档