HTML基础-常用标签及语法

html-css013

HTML基础-常用标签及语法,第1张

HTML注释语法,VS code 快捷键【Ctrl + /】:

标题(Heading) ,是通过 <h1>-<h6> 六个标签分别来对六个级别的标题进行定义的。标题标签只是给标签内部的元素内容添加对应级别标题的语义,样式由CSS设定,标签之间不能相互嵌套,权重从 <h1>向 <h6>依次递减。

注意: <h1>在整个HTML中的权重非常高,内部应该放置HTML中最重要的内容,比如logo。 <h1>由于非常重要,内部的文字对于提高搜索引擎排名也非常重要,为了防止作弊,如果 一个页面出现多个 <h1>,反而降低权重。

约定俗成的,一个页面中只会出现一个 <h1>。

段落(paragraph) ,是通过 <p>标签进行定义的。 <p>标签是双标签,且为文本级标签。内部只能放置文本、图片、表单元素,或者废弃的 <font>标签等。 <p>标签的作用是给标签内部的内容添加一个完整段落的语义,不负责内容自动换行的样式。 换行的效果是由css决定的。

(breaking)标签 是HTML中一个简单的换行符。 <br />标签是一个单标签。 在需要换行的位置可以使用 <br />标签书写,但是 <br />与 <p>不同, <br />没有建立新的 段落的语义,只是简单的进行强制换行。

HTML中有部分标签是用来对文字进行格式化显示设置的,比如粗体和斜体等。文本格式化的标签均为双标签,且为文本级标签,内部只能书写文字。在HTML4.0版本规范后,结构和样式进行了分离,大部分文本格式化标签被废弃, <b> <i> <u> <em> <shrong>相对比较常用。

图像(image) 由 <img>标签进行定义。 <img>标签是单标签,本身相当于一个特殊的文本,作用是在指定的位置插入一张图片。在HTML文件,常用的插入图片的类型有:jpg、png、gif。由于 <img>为单标签,所以它只能通过属性进行相关的图像设置。

路径指的是寻找文件时所历经的线路,在HTML中有特殊的书写语法。 路径分为相对路径和绝对路径,不同的方式出发点和参考位置不同。

相对路径查找文件时,需要从HTML文件本身出发,根据相对的位置进行查找,包含三种方向。

绝对路径查找文件时,不需要从HTML文件出发,而是直接从电脑的盘符出发进行查找,或者 使用网址形式查找。

音频与视频分别使用 <audio>和 <video>标签进行定义。 <audio>和 <video>是双标签。同图片一样,需要使用src属性设置音频查找的路径。音频文件支持的格式包括:.mp3、.ogg、.wav。 视频文件支持的格式包括:.mp4、.ogg、.webm。

音频与视频加载后不会自动显示播放器的控制条,需要使用controls属性进行设置,属性值也是 controls。

<a>标签(anchor 锚)在指定的位置添加超级链接,提供用户进行点击和跳转。有两种跳转形式:跨页面跳转、页面内跳转。实现跳转的方式需要用到一些标签属性。

页面内锚点跳转

①在目标位置找到任意一个标签,给它添加 id 属性, id 的属性值必须是唯一且必须以字母开头,后面可以有字母、数字、下划线和横线,区分大小写。

②在目标位置添加一个空的 <a>标签,只设置一个 name 属性, name 属性值设置 方式与 id 相同,也必须是唯一的。

跨页面锚点跳转

列表用于制作HTML中的一系列项目。通常我们会将内容相关、结构相似、样式相近的内容使用列表结构进行搭建。根据项目的内容不同,可以有三种语义的列表结构: 无序列表、有序列表、定义列表 。

注意事项:

自定义列表不仅仅是一列项目,而是项目及其注释的组合。 由三个标签组成完整的结构,包含 <dl>、 <dt>和 <dd>。 dl : definition list ,表示定义一个自定义列表的大结构。 dt : definition term ,表示定义自定义列表中的一个主题或者术语。 dd : definition description ,定义解释项,表示描述或解释前面的定义主题。 <dl>内部只能嵌套 <dt>和 <dd>, <dt>与 <dd>是同级关系。

注意事项:

常用的布局标签有 <div>和 <span>,俗称盒子,都没有具体明确的语义。

div: 全称division,分割、区域、跨度的意思。俗称大盒子。 <div>是双标签,是最经典的容器级标签,内部可以放置任意内容。多用于划分网页区域,进行结构布局。一般将相关的内容使用 <div>包裹起来,整体设置大的布局效果。

span: 小区域、小跨度的意思。俗称小盒子。 <span>也是双标签,容器级标签。 在不改变整体效果的情况下,可以辅助进行局部调整。

创建一个简单的表格至少有三个标签组成,分别是 <table>、 <tr>、 <td>标签,此外如果要制作表头,则使用 <th>标签。

表格的单元格可以进行合并,通过 <th>和 <td>的两个属性可以进行合并设置。 rowspan :跨行和并(上下的合并)。 colspan :跨列合并(左右的合并)。属性值是数字,表示跨几行或跨几列合并。

制作技巧: (1) 先列出所有行 <tr>,以最小单元格为标准。 (2) 再添加每一行的 <td>或 <th>单元格。 (3) 划分单元格所在行时,顶边对齐的属于同一行。 (4) 将所有行和列写完后,再查看哪个单元格有跨行或跨列,属性值的个数要参考最小 的单元格。

<table>内部最直接的子级包含四个分区标签,他们都是双标签。

四个分区可以选择性的进行组合。 注意: 不论书写顺序如何颠倒,浏览器中的加载顺序都是自动按照 caption 、 thead 、 tbody 、 tfoot 执行的。制作的时候可以先书写大分区标签结构,接着填充每个分区的内部内容,如果有合并单元格内容,则进行单元格合并。

HTML表单用于搜集不同类型的用户输入,表单元素就是网页中提供用户进行输入或点击 的小控件。在HTML中,一个完整的表单通常由表单域、提示信息和表单控件(也称为表单元素)3个 部分构成。

HTML表单域使用 <form>标签进行定义。 <form>标签是一个功能性标签,填写的表单信息要想正确的提交到后台服务器,必须放在一个 <form>标签之内。 <form>标签为双标签,容器级标签。 <form>标签通过对应属性规定提交数据的方法和提交位置。

<input>标签是最重要的一个表单元素,为单标签,本身相当于一个特殊的文本,需要通过标签属性实现各种功能。其中ra, type 属性的值不同,决定了 <input>标签的形态不同。

单选框和复选框都可以提前设置默认选中项。 <input>标签有一个 checked 属性,如果不设置表示默认没有选中。 属性值如果设置为 "checked" ,表示该项默认被选中。

<textarea>标签定义文本域,制作可以输入多行文本的区域,为双标签,本身相当于一个特殊的文字。 文本域可以设置默认输入的文字,在双标签之间书写默认文字。

<textarea>有两个标签属性,可以设置显示区域大小。 rows :行,属性值是数字,表示文本框显示的最大行数,如果超过了行数, 会被隐藏并且出现滚动条。 cols :列,属性值是数字,表示在出现滚动条之后,每一行显示的最大字节数(一个汉字按2字节计算)。

HTML中的下拉菜单提前设置一些选项,然后可以通过点击选择其中一项。

下拉菜单需要至少两个标签完成结构: <select>:选择,表示定义下拉菜单整体结构。 <option>:选项,表示定义下拉菜单的每一项。 两个标签都是双标签,文本级标签。 关系: select>option , option 可以有任意多项。

默认情况下,选中的是第一项。 下拉菜单可以通过给 <option>标签设置 selected 属性,属性值为 selected ,更改默认选中项。

下拉菜单中如果选项变得复杂,可以将 <option>进行分组管理。 可以使用 <optgroup>标签对选项进行分组, <optgroup>是一个双标签。 关系: select>optgroup>option , <optgroup>可以设置一个 label 属性,表示给这一组选项添加一个分组标签名,分组标签 <optgroup>是不能被点击选择的。

所有的表单元素都可以通过绑定其他内容去扩大触发点击范围,这时需要使用一个 <label>标签。该标签的作用是帮表单元素定义标注(标记)。 如果将表单控件与提示内容使用 <label>进行绑定后,当用户鼠标点击 <label>内的提示内容时,浏览器就会自动将焦点转到和标签相关的表单控件上。有两种绑定方法:

在普通文字书写时,有一些特殊符号不能直接书写(例如 连续的空格),或者符号具有特殊功能也不能直接书写(例如<>符号)。可以使用一些HTML提前预留好的替换字符进行书写,这些替换字符叫做字符实体。

通过查询w3school手册 HTML ISO-885901 ,查看所有的字符实体以及特殊字符的替换写法,包含实体名称以及实体编号。

规则: 所有的字符实体和实体编号都是以 &开头,以 ; 结尾的。

注意: 实体名称对大小写敏感!

建议1 :使用实体名称,好处是名称易于记忆。不过坏处是,浏览器也许并不支持所有实 体名称(对实体数字的支持却很好)。

建议2 :不需要强制记忆所有的字符实体,只需要记忆常用的几个字符实体名称即可,其 他可以通过手册进行查询。

转自: HTML 表单之label标签介绍

label标签介绍

label标签为input元素定义标注(标记),它不会向用户呈现任何特殊效果,和span标签类似。但label标签和span标签最大的区别就是它为鼠标用户改进了可用性,可以关联特定的表单控件。

label标签和特定表单控件关联之后,如果用户在 label 元素内点击文本,就会触发关联的表单控件。就是说,当用户选择该label标签时,浏览器就会自动将焦点转到和label标签相关的表单控件上。

主要使用场景

label标签常用于与checkbox或radio关联,以实现点击文字也能选中/取消checkbox或radio。如下图,点击文字和点击前面的单选框效果相同,即加大了控件的可点击区域较大,因为点击标签或控件都将激活控件,这对于复选框和单选框特别有用。

label标签和特定表单元素关联方式

label标签的关联方式主要有两种,显示关联和隐式关联:

显式关联是通过label标签的for属性,显式与另一个表单控件关联。需要注意的是,for属性的值必须是与label标签在同一文档中的可标记表单元素的id,注意是id而不是name。如:

效果图:

隐式关联是直接将表单控件放到label标签内,这种情况下,label标签只能包含一个表单元素,包含多个只对第一个有效。如下:

<label>点击我可以使文本框获得焦点

<input type='text' name='theinput' id='theinput'>

</label>

效果图如下,点击文字便能是文本框获得焦点:

显示关联和隐式关联的优缺点:

显式关联优点:

可以减少标签嵌套层数

label标签和表单可以在不同的位置

显示关联缺点:

控件需要定义id属性

label标签和表单控件不利于作为一个整体来控制

隐式关联优点:

控件无需定义id

标签和控件方便作为一个整体控制

隐式关联缺点:

增加了标签嵌套层数

不能将标签和关联控件放到不同的位置

以上是个人对两种方式的看法,使用时可按需要选择显示或隐式。

label标签的浏览器支持及可关联的表单元素

所有主流浏览器都支持label标签。Safari 2 或更早的版本不支持label标签。

能使用显示关联的表单元素有:

input type="text" 文本框,点击标签时关联的文本框获得焦点。

input type="checkbox" 复选框,点击标签时选中或取消选中复选框。

input type="radio" 单选框,点击标签时选中单选框。

input type="file" 文件上传,点击标签时打开文件选择对话框。

input type="password" 密码框,点击标签时密码框获得焦点。

textarea 文本域,点击标签时文本域获得焦点。

select 下拉框,点击标签时,下拉框获得焦点,不过并不展开下拉框选项。

label标签的form属性

form 属性指定label标签元素所属的表单。如下,虽然label标签在myform表单外,但仍属于myform表单。如下:

<form action="http://songguoliang.com/test.html" id="myform">

<input type="radio" name="sex" id="male" value="male">

<label for="female">女</label>

<input type="submit" value="提交">

</form>

<label for="male" form="myform">男</label>

效果图如下,点击”男”同样可以选中第一个单选框

注:

该form属性已于2016年4月28日从HTML规范中删除。但是,脚本仍然可以访问只读HTMLLabelElement.form属性它返回标签的关联控件是成员的形式,或者null如果标签未与控件相关联或控件不是表单的一部分。

在没有使用编辑器而是使用了文本域 <textarea>的情况下,用户所输入的内容呈现的效果并不理想,比如:原本的换行没有保留,全部成了单行显示。

要让在 <textarea>中输入的内容原格式输出有一下两种办法:

使用 <pre>标签是我最开始采用的办法,但是这种方法也有一定的缺陷,比如说我们在使用的编辑器的时候,换行、Tab、空格都会影响到输出结果。如图:

并且, <pre>标签本身自带得有一些样式,比如字体等。如果你的页面有引入bootstrap等css框架,那么受样式影响就更多了,你得再写去覆盖。

因此,这种方法并不推荐。

我们先来看一下 white-space 的定义和属性:

其属性有:

也就是说,我们可以使用 white-space:pre-warp 或 white-space:pre-line 达到我们想要的效果。

两者的区别是:

如图:

white-space:pre-warp 效果如下:

white-space:pre-line 效果如下:

因此,更推荐使用第二种方法。