《HTML常用标签》

一、a标签

作用:

跳转外部页面

跳转内部锚点

跳转到邮箱或电话等

href(超级引用):超级链接

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <a href="https://google.com">超链接</a>
</body>
</html>

小tip

不要双击打开html 打开方式如下:

✨方法一:

  • 在vscode终端安装 yarn global add http-server

  • 通过输入 http-server

  • 出现链接 按ctrl+单击

  • 跳转后 在网址输入要跳转的 html文件名

方法二:

  • 在vscode终端安装 yarn global add parcel

  • 直接在终端 parcel xxx.html

  • 产生一个链接 按ctrl+单击 就是在浏览器中打开html

a标签href的取值

  1. 网址:
<a href="https://google.com">超链接1</a>
<a href="http://google.com">超链接2</a>
<a href="//google.com">超链接3</a>

https和http 以及都去掉的区别 http协议

https比http多一个s的含义是指的是Secure (安全),如果是http开头的网站,会有不安全的显示,如果是https开头的网站代表已经建立了安全连线,若需要输入个人资料信息,将会以加密的形式进行传输。

//google.com 是最高级网址 可以自动选择是哪个网址。

  1. 路径
链接到不同目录的一个文件
<a href="/a/b/c.html">c.html</a>
<a href="a/b/c.html">c.html</a><!--这里有无/是相同含义-->
链接到同一目录的文件
<a href="index.html">index.html</a>
<a href="./index.html">index.html</a><!--这里有无./都是相同含义-->

注意 :这里/a/b/c 的/ 不是根目录,而是相对于a.html,之前所有的路径都是基于文件的,而http协议里面的路径 就不再是文件说法了,在这个浏览器的网址里其实是隐藏着http的。

这里其实是http://10.120.242.163:8080/a/b/c.html

并且如果我们开启了http服务,他的根目录就不是硬盘的根目录,而是在哪里开启了http服务 哪里就是根目录,所以说a-href.html的根目录是 HTML-demo-02. 这也就解释了前面html文件为什么不能用双击打开,如果用双击打开,就相当于没有启动http服务,他的根目录就还是硬盘,就是以文件形式展示。

  1. 伪协议
<a href="javascript:alert(1);">javascript伪协议</a> 用来执行JavaScript命令 这里:; 不可以省略
<a href="javascript:;">javascript伪协议</a> 
若将:;中代码去掉,则这个标签没有意义

这里解释一下,为什么设置没有意义的Javascript标签?

如果我们直接不写,而是直接一个a标签,就会导致页面刷新,那么之前在页面上输入的东西将会消失,

<a href=""> javascript伪协议 </a>

而如果在a便签里面写一个# 则不会进行刷新 而是会自动滚动到顶部。

<a href="#"> javascript伪协议 </a>

<p id=xxx>查看我</p>
<a href="#xxx"> 查看xxx </a> 查看xxx所在的行
<a href="mailto:liuxinyuucc@163.com"> 发邮件给欣宇 </a> 
<a href="tel:18518103788"> 打电话给欣宇 </a> 

target:指定在哪个窗口打开超链接

a标签target的取值

  1. 内置名字(_blank _self _top _parent,窗口名字,iframe名字)

    <a href="https://google.com" target="_blank">google</a>空白页打开超链接
    ✨<a href="https://google.com" target="_self">google</a>在当前页面打开
    
    <a href="https://google.com" target="_top">google</a>两个窗口时在最顶层打开页面
    这里需要与iframe连用,iframe是通过在页面引入另一个页面。
    <iframe src="a-traget-iframe.html" frameborder="0"></iframe>
    

    为了明显一点,我们将a-traget-iframe文件设置鲜艳一些。

    <body style="background: red;">
        我是iframe
        里面有一个a标签
        <a href="//google.com" target="_top">链接</a>
    </body>
    

这样就是层级关系,外面包裹着红色里面。点击里面链接会变成白色窗口打开,因为最顶层的是白色窗口。(top意味着最顶层打开)

但是如果把_top 改成 _self 则其实就是应该在红色区域打开链接。

<a href="//google.com" target="_parent">parent</a>是在副级窗口打开

为了区别于top,这里再次引入iframe

新建文件 是的a的target为_parent .

<body style="background: rgb(21, 255, 0);">
    我是iframe2
    <hr/>
    里面有一个a标签
    <a href="//google.com" target="_parent">parent</a>
</body>

我们在原来a-traget-iframe的基础上 再次iframe引入刚建文件 并且显示绿色

<iframe src="a-traget-iframe-2.html" ></iframe>

所以如果我们点开链接 实际上是在红色窗口打开,因为是副级窗口

<a href="https://google.com" target="xxx">google</a>
    <a href="https://baidu.com" target="xxx">baidu</a>
如果有一个叫xxx的窗口,那么就在xxx里打开,如果没有xxx窗口就创建一个xxx窗口打开。

那么这就以为这如果你两个链接的target都是xxx,则在同一个窗口打开。

(可以重复利用同一窗口打开)

注意:如何查看这个窗口的名字?

在控制台,输入 window.name 就是这个窗口的名字

<body>可以设置iframe的名字,这样就可以实现嵌入式的跳转
    <a href="https://google.com" target="xxx">google</a>
    <a href="https://baidu.com" target="yyy">baidu</a>
    <hr>
    <iframe src="" name="xxx"></iframe>
    <hr>
    <iframe src="" name="yyy"></iframe>
</body> 
src 是source 的简写 一般接地址(网络地址,相对路径,绝对路径均可)
二、iframe 标签

iframe标签用来内嵌窗口

<iframe id="inlineFrameExample"
    title="Inline Frame Example"
    width="300"
    height="200"
    src="https://www.openstreetmap.org/export/embed.html?bbox=-0.004017949104309083%2C51.47612752641776%2C0.00030577182769775396%2C51.478569861898606&layer=mapnik">
</iframe>
<!--代码来自mdn-->
三、table标签
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <table>
        <thead>
            <tr>
            <th>英语</th> 
            <th>翻译</th> <!--表头的一个单元格-->
            </tr> <!--table row 表格中一行-->
        </thead>
        <tbody>
            <tr>
            <td>hyper</td>
            <td>超级</td> <!--table data 表格数据 一个单元格-->
            </tr>
            <tr>
            <td>target</td>
            <td>目标</td> 
            </tr>
            <tr>
            <td>reference</td>
            <td>引用</td> 
            </tr>
        </tbody>
        <tfoot>
            <tr>
                <td></td>
                <td></td> 
            </tr>
        </tfoot>
    </table>
</body>
</html>

有两个表头的情况下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <table>
        <thead>
            <tr>
            <th></th>
            <th>小红</th>
            <th>小明</th>
            <th>小颖</th>
            </tr> <!--table row 表格中一行-->
        </thead>
        <tbody>
            <tr>
            <th>数学</th>
            <td>61</td>
            <td>91</td> 
            <td>85</td> <!--table data 表格数据-->
            </tr>
            <tr>
            <th>语文</th>
            <td>79</td>
            <td>82</td> 
            <td>92</td> 
            </tr>
            <tr>
            <th>英语</th>
            <td>100</td>
            <td>97</td> 
            <td>87</td>
            </tr>
        </tbody>
        <tfoot>
            <tr>
                <th>总分</th>
                <td>200</td>
                <td>200</td> 
                <td>200</td> 
            </tr>
        </tfoot>
    </table>
</body>
</html>

注意:

1、当我们在写代码时候不写, 而直接写 / 时,会直接变成/里面的内容。

2、 三者标签顺序无关,一定是按照头 中 脚来排列的。

表格相关样式:

  • table-layout:
<style>
    table{table-layout: auto; }
</style>        
大多数浏览器采用自动表格布局算法对表格布局,自动计算每一列和每一横排的宽和高,宽度取决于其包含等的内容。
<style>
    table{table-layout: fixed; }
</style>  
表格狠人列的宽度通过表格的宽度来设置,某一列的宽度仅由该列首行的单元格决定,在当前列中,该单元格所在行之后的行并不会影响整个列宽。尽量进行平均分布。
  • border-spacing
<style>
        table{
            width: 600px; <!--宽度-->
            table-layout: auto;
            border-spacing: 10px;  <!---->
        }
        th,td{
            border: 1px solid blue;
        
        }
</style>
是指相邻单元格边框之间的距离
  • border-collapse
<style>
        table{
            width: 600px;
            table-layout: auto;
            border-collapse: collapse; 
            border-spacing: 0;

        }
        th,td{
            border: 1px solid blue;
        }
</style>
是指合并相邻单元格边框,通常情况下与border-spacing:0; 连用
四、img标签

作用:发出get请求,展示一张图片

属性:

src:图片的链接,(可以是绝对路径,也可以是相对路径,或者网址)

alt:可选的,替换的 如果图片加载失败,所显示的东西

height/width:图片的高和宽,这里单位只支持像素,如果你只设置宽度,高度会自适应。

<body>
    <img width=400 height=600 src="dog.png" alt="一只狗狗">
</body>

事件

onload/onerror 用来监督图片是否加载成功 成功则为onload 不成功为onerror,可以在图片失败的时候进行挽救。

<body>
    <img id="xxx" width=400 src="dog.png" alt="一只狗狗">
<script>
    xxx.onload = function(){
        console.log('图片加载成功')
    }
    xxx.onerror= function(){
        console.log('图片加载失败')
    }
</script>
</body>

在控制台可以查看这一信息,在网页中不会显示出来。如何挽救?

找一张备用图,在提示加载失败后面添加src属性

<body>
    <img id="xxx" width=400 src="dog.png" alt="一只狗狗">
<script>
    xxx.onload = function(){
        console.log('图片加载成功')
    }
    xxx.onerror= function(){
        console.log('图片加载失败')
    xxx.src = "/404.png"
    }
</script>
</body>  <!--这样如果成功显示则会出来,图片加载成功,如果失败则会显示图片加载失败,并且显示备用图-->

响应式:设置图片宽度可以满足手机要求

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        *{
            margin:0 padding:0 box-sizing: border-box
        }
        img{

            max-width: 100%;  ✨<!--就是设置宽度一直符合页面宽度-->
        }
    </style>
</head>
<body>
    <img id="xxx"  src="dog.png" alt="一只狗狗">
<script>
    xxx.onload = function(){
        console.log('图片加载成功')
    }
    xxx.onerror= function(){
        console.log('图片加载失败')
    xxx.src = "/404.png"
    }
</script>
</body>
</html>
五、form标签

表示文档中的一个区域,此区域包含交互控件,用于向 Web 服务器提交信息。必须有一个type="submit"这个按钮

表单标签作用:发一个get/post请求,刷新页面。

属性:

action:用于向web服务器提交表单。

<body>
    <form action="/xxx"> <!--向这个地址提交表单,就会请求到哪个页面-->
        ****************************************
         <form action="/xxx" method="POST"> <!--就会以post的形式提交表单-->
        <input type="text"> <!--输入txt 这个类型-->
        <input type="submit"><!--设置一个提交按钮-->
</body>

autocomplete:是否自动填充

用于指示 input 元素是否能够拥有一个默认值,此默认值是由浏览器自动补全的。此设定可以被属于此表单的子元素的 autocomplete 属性覆盖。 可能的值有:

  • off:浏览器可能不会自动补全条目(在疑似登录表单中,浏览器倾向于忽略该值,而提供密码自动填充功能,参见 自动填充属性和登录
  • on:浏览器可自动补全条目
 <body>
    <form action="/xxx" method="POST" autocomplete="on">
        <input name=username <!--推荐建议用户名-->
        type="text">
        <input type="submit">
</body> 
     打开自动填充,用户名或者密码

method:浏览器使用这种 HTTP 方式来提交 表单。

target:表示在提交表单之后,在哪里显示响应信息。在 HTML 4 中,这是一个 frame 的名字/关键字对。在 HTML5 里,这是一个浏览上下文 的名字/关键字(如标签页、窗口或 iframe)。下述关键字有特别含义:

  • _self:默认值。在相同浏览上下文中加载。

  • _blank:在新的未命名的浏览上下文中加载。

  • _parent:在当前上下文的父级浏览上下文中加载,如果没有父级,则与 _self 表现一致。

  • _top:在最顶级的浏览上下文中(即当前上下文的一个没有父级的祖先浏览上下文),如果没有父级,则与 _self 表现一致。

    <body>
        <form action="/xxx" method="POST" autocomplete="on" target="a"> <!--在a里打开-->
            <input name=username
            type="text">
            <input type="submit"> <!--如果使用submit 但是在网页里显示提交,是因为网页可以自动识别你能看懂的文字,如果是英语,则直接显示submit-->
        </form>
        <iframe name ="a" src="a-traget-iframe.html"> </iframe>   
        <!--a 是一个在此页面上的另外一个页面 iframe是插入另一个页面窗口的意思-->
    </body>
    

可以对<input type="submit">进行更改,<input type="submit" value="发送">在后面加入一个 value,就可以实现对其显示的更改。

或者加入一个<button> 也可以实现,二者选其一。

🤡<input type="submit"><button type="submit"></button>区别:input里面不可以再加入其他内容,但是button 可以加入其他内容,button里面可以含有样式标签,比如<strong> 可以使得字体加粗

button里面如果不写 type=submit则就会默认是submit

事件:

onsubmit:当用户点提交的时候就会触发这个事件

六、input标签 是自闭合标签

用于为基于 Web 的表单创建交互式控件,以便接受来自用户的数据; 可以使用各种类型的输入数据和控件小部件

属性:

类型 type

  • txt:<input type="txt"/>可输入文本类型

  • color:<input type="color"/>可以选择颜色

  • password:<input type="password"/> 可以输入密码,不展示具体内容 ,保护密码

  • radio:单选

<input type="radio"/><input type="radio"/> 女 
注意:如果单纯这样设置会导致,都可以进行选择,而不是单选。
让这两个radio拥有同一个name,可以实现二选一
<input name=gender type="radio"/><input name=gender type="radio"/>
  • checkbox:可以实现多选
<input type="checkbox"/><input type="checkbox"/><input type="checkbox"/>rap 
<input type="checkbox"/>表演 
如何让这几个选项是一组的,就是一类的,在input加上name属性 就可以实现
  • file:上传文件
<input type="file"/> 只能上传一个文件
<input type="file" multiple/> 可以上传多个文件
  • hidden:看不见的input,常用做机器输入,给js自动填入字符串和id信息

<input type="hidden"/>

事件:

onchange:当用户输入改变的时候,会触发事件

onfocus:当把鼠标集中到这个选项的时候,就会触发事件

onblur:当用户鼠标从选项中出来的时候,就会触发事件

验证器:

**required:**就是要求客户必须填写此表单,否则无法提交。

<input type="text" required/> 意味着客户必须填写text 才能提交。

七、其他标签

textarea:用户可输入内容 style 是css 可以对textarea进行修饰

<textarea style="resize: none; width: 52%; height: 300px;"></textarea> 这里的resize:none 就是指不可以对输入框进行拖动。

select:就是可以一框进行选择

<select>
        <option value="">-请选择-</option>
        <option value="1">星期一</option>
        <option value="2">星期二</option>
</select>

label:表示用户界面中某个元素的说明。

将一个 <label> 和一个 <input> 元素匹配在一起,你需要给 <input> 一个 id 属性。而 <label> 需要一个 for 属性,其值和 <input>id 一样。

<label for="username">Click me</label>
<input type="text" id="username">

另外,你也可以将 <input> 直接放在 <label> 里,此时则不需要 forid 属性,因为关联已隐含存在:

<label>Do you like peas?
  <input type="checkbox" name="peas">
</label>

注意事项:

一般不监听input的click事件

form里面的input要有name

form里要放一个type=submit 才能触发submit 事件

一句话

多看多查mdn, 里面有很全的解释。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值