Cet article vous amènera à comprendre les balises et les attributs HTML, et à parler de la structure principale et des balises associées des documents HTML. J'espère qu'il sera utile à tout le monde !
La structure principale du HTML
La structure de base d'une page HTML est la suivante, qui contient diverses balises nécessaires à la création de pages Web (telles que doctype, html, head et body, etc.) .
<!--这是html的注释信息--> <!DOCTYPE html> <!--这是DOCTYPE声明--> <html> <!--这是根--> <head> <!--这是头--> <meta charset = "UTF-8"> <!-- 描述性标签 --> <title>Hello</title> <!--标题栏--> </head> <body> <!--网页体--> <!--这里的内容显示到网页上--> 这是我的第一个HTML页面 </body> </html>
La déclaration supérieure <!DOCTYPE html>
<!DOCTYPE html>
声明是文档的第一成份,位于文档的最顶部。
该标签就是告诉浏览器所使用的 HTML 规范。
以<html>
开始,以</html>
结束,中间包含头部标签及主体标签
HTML 标签的语法格式
一般情况下,一个 HTML 标签由开始标签、属性、内容和结束标签组成,标签的名称不区分大小写,但大多数属性的值需要区分大小写,如下所示:
属性 ↓ <div class="foo">PHP中文网</div> ↑ ↑ ↑ 开始标签 内容 结束标签
除了 class 属性外,开始标签中还可以包含其它属性信息,比如 id、title 等,这些我们会在后面进行讲解。
注意,虽然 HTML 标签在语法上不区分大小写,但是为了规范和专业,强烈建议在定义标签时一律采用小写。
当使用浏览器打开我们编写的 HTML 文档时,浏览器会从上到下依次读取文档中的内容,并根据 HTML 标签和属性将标签中的内容呈现在浏览器中。
一个 HTML 文档中必须具有一些基本的标签,以便浏览器区分普通文本和 HTML 文档。您可以根据想要实现的效果使用任意数量的标签,但有以下几点需要注意:
所有 HTML 标签都必须放在尖括号< >内;
HTML 中不同的标签可以实现不同的效果;
如果使用了某个标签,则必须使用对应的结束标签来结尾(自闭和标签除外)。
自闭和标签
有一些 HTML 标签没有单独的结束标签,而是在开始标签中添加/来进行闭合,这种标签称为自闭和标签。请看下面的例子:
<img src="./logo.png" alt="C语言中文网Logo" /> <!-- 图像 --> <hr /> <!-- 分割线 --> <br /> <!-- 文本换行 --> <input type="text" placeholder="请输入内容" /> <!-- 文本输入框 -->
自闭和标签不用包围内容,所以不需要单独的结束标签。只有少部分 HTML 标签是自闭和的。
<!-- --> 表示 HTML 注释,用来对 HTML 代码进行说明,浏览器会忽略注释内容,所以用户在网页中看不到注释
HTML属性的概念和使用
什么是属性
属性可以为 HTML 标签提供一些额外信息,或者对 HTML 标签进行修饰。属性需要添加在开始标签中,语法格式为:
attr="value"
attr
表示属性名,value
表示属性值。属性值必须使用双引号""
或者单引号''
包围。
注意,虽然双引号和单引号都可以包围属性值,但是为了规范和专业,请尽量使用双引号。
一个标签可以没有属性,也可以有一个或者多个属性。
使用 HTML 属性的例子:
<p id="user-info" class="color-red"> 欢迎 <font color="red" size="3">Tom</font> 来到PHP中文网。 <p>
专用属性
HTML 属性有很多,大体可以分为两类:
有些属性适用于大部分或者所有 HTML 标签,我们将这些属性称为通用属性;
有些属性只适用于一个或者几个特定的 HTML 标签,我们将这些属性称为专用属性。
HTML 中的 标签就有 src 和 alt 两个专用属性, 标签也有 href 和 target 两个专用属性,如下例所示:
<img src="./logo.png" alt="PHP中文网Logo" width="100" style="max-width:90%"> <a href="http://c.biancheng.net/" target="_blank">PHP中文网</a>
对代码的说明:
标签中的 src 属性用来定义图像的路径,alt 属性用来定义图像的描述信息,当图像出现异常无法正常显示时就会显示 alt 中的信息。
自定义属性
除了自带的属性,HTML 也允许我们自定义属性,这些属性虽然可以被浏览器识别,但是并不会添加什么特殊效果,我们需要借助 CSS 和 JavaScript 处理自定义属性,为 HTML 标签添加指定样式或者行为。
data-*
<html>
et terminez par </html>
, y compris la balise head et le corps tag🎜<element data-*="somevalue">
🎜Notez que bien que la syntaxe des balises HTML ne soit pas sensible à la casse, dans un souci de standardisation et de professionnalisme, il est fortement recommandé de toujours utiliser des minuscules lors de la définition des balises. 🎜🎜Lorsque vous utilisez un navigateur pour ouvrir le document HTML que nous avons écrit, le navigateur lira le contenu du document de haut en bas et restituera le contenu de la balise dans le navigateur en fonction des balises et des attributs HTML. 🎜🎜Un document HTML doit avoir quelques balises de base pour que le navigateur puisse faire la distinction entre le texte ordinaire et les documents HTML. Vous pouvez utiliser n'importe quel nombre de balises en fonction de l'effet que vous souhaitez obtenir, mais il y a quelques points à noter : 🎜🎜🎜🎜Toutes les balises HTML doivent être placées entre crochets < 🎜🎜🎜 HTML Différentes balises peuvent produire des effets différents ; 🎜🎜🎜Si une certaine balise est utilisée, elle doit être terminée par la balise de fermeture correspondante (sauf la fermeture automatique et les balises). 🎜🎜🎜Balises à fermeture automatique🎜🎜🎜Certaines balises HTML n'ont pas de balise de fermeture distincte. Au lieu de cela, elles sont fermées en ajoutant / dans la balise de début. appelé une balise à fermeture automatique. Veuillez consulter l'exemple ci-dessous : 🎜
<div id="myDiv" data-attribute="value">在标签里设置H5新增的自定义属性</div>
🎜<!-- --> Représente les commentaires HTML, utilisés pour expliquer le code HTML, le navigateur ignorera le contenu des commentaires, afin que les utilisateurs ne puissent pas voir les commentaires sur la page Web🎜🎜🎜🎜 Le concept. et utilisation des attributs HTML🎜🎜🎜🎜🎜Que sont les attributs ? Les attributs peuvent fournir des informations supplémentaires pour les balises HTML ou modifier les balises HTML. Les attributs doivent être ajoutés dans la balise de début. Le format de syntaxe est : 🎜
<div id="myDiv" data-attribute="属性值">data属性应用于CSS中</div>
attr
représente le nom de l'attribut et value
représente la valeur de l'attribut. Les valeurs d'attribut doivent être entourées de guillemets doubles ""
ou de guillemets simples ''
. 🎜🎜Notez que même si les guillemets doubles et les guillemets simples peuvent entourer les valeurs d'attribut, dans un souci de standardisation et de professionnalisme, veuillez utiliser autant que possible des guillemets doubles. 🎜🎜Une balise peut n'avoir aucun attribut, ou elle peut avoir un ou plusieurs attributs. 🎜🎜Exemples d'utilisation des attributs HTML : 🎜
#myDiv{ position: ralative; } #myDiv:hover:after{ position: absolute; top: 0px; left: 0px; content: attr(data-attribute); color: red; }
<div id="myDiv" data-attribute="value">在标签里设置H5新增的自定义属性</div>
data-*
est utilisé pour stocker les données personnalisées appliquées derrière une page privée. Il s'agit d'un nouvel attribut en HTML5. 🎜var myDiv = document.getElementById("myDiv"); var theValue = myDiv.getAttribute("user-defined-attribute");
data-*
属性可以在所有的 HTML 元素中嵌入数据。
自定义的数据可以让页面拥有更好的交互体验(不需要使用 Ajax 或去服务端查询数据)。
data-*
属性由以下两部分组成:
属性名不要包含大写字母,在 data- 后必须至少有一个字符。
属性值,该属性值可以是任何字符串
注意: 自定义属性前缀 "data-" 会被客户端忽略。
利用dataset可以获取data-属性构造的对象,该方法目前只能在Chrome 、Opera等部分浏览器中实现,其他浏览器如需获取其属性值需要使用getAttribute和setAttribute来操作。
只要在标签里面以”data-”为前缀定义我们的自定义属性就可以用来进行一些数据的存放。
<div id="myDiv" data-attribute="value">在标签里设置H5新增的自定义属性</div>
这个data属性还可以应用在CSS中,前提是你的浏览器支持after伪类,以及content的attr属性(低版本的IE不支持):
<div id="myDiv" data-attribute="属性值">data属性应用于CSS中</div>
#myDiv{ position: ralative; } #myDiv:hover:after{ position: absolute; top: 0px; left: 0px; content: attr(data-attribute); color: red; }
如何获取data属性的值?
<div id="myDiv" data-attribute="value">在标签里设置H5新增的自定义属性</div>
1、使用getAttribute来获取
var myDiv = document.getElementById("myDiv"); var theValue = myDiv.getAttribute("user-defined-attribute");
2、使用Html5自定义属性对象Dataset来获取
var myDiv = document.getElementById("myDiv"); var theValue = myDiv.dataset.attribute;
注意:带连字符连接的名称在使用的时候需要命名驼峰化,即大小写组合书写,这与应用元素的style对象类似,dom.style.borderColor
。例如data属性为data-other-attribute
,则我们要获取相应的值可以使用:myp.dataset.otherAttribute
如果Html元素定义了多个自定义属性,如何获取?
<div id="myDiv" data-attribute1="value" data-attribute2="value2" data-attribute3="value3">在标签里设置多个自定义属性</div>
1、使用循环遍历
var myDiv = document.getElementById("myDiv"); var attrs = myDiv.attributes, var expense = {}, i, j; for (i = 0, j = attrs.length; i < j; i++) { if(attrs[i].name.substring(0, 5) == 'data-') { expense[attrs[i].name.substring(5)] = attrs[i].value; } }
2、使用dataset
属性
var expense = document.getElementById('myDiv').dataset;
注:dataset
并不是典型意义上的JavaScript对象,而是个DOMStringMap对象
,DOMStringMap
是HTML5一种新的含有多个名-值对的交互变量
1)、让所有的自定义的属性值塞到一个数组中
var chartInput = []; for (var item in expense) { chartInput.push(expense[item]); }
2)、删掉一个data属性
delete myDiv.dataset.attribute;
3、增加一个data属性
myDiv.dataset.attribute4 = 'value4';
dataset的兼容性处理
如果浏览器不支持dataset,有必要做一下兼容处理:
if(myDiv.dataset) { myDiv.dataset.attribute = "valueXX"; // 设置自定义属性 var theValue = myDiv.dataset.attribute; // 获取自定义属性 } else { myDiv.setAttribute("data-attribute", "valueXX"); // 设置自定义属性 var theValue = myDiv.getAttribute("data-attribute"); // 获取自定义属性 }
结语:
使用dataset
操作data
要比使用getAttribute
速度稍微慢些,虽然使用dataset
不能提高代码的性能,但是对于简洁代码,提高代码的可读性和可维护性是很有帮助的。
通用属性介绍
HTML 标签中有一些通用的属性,如 id、title、class、style 等,这些通用属性可以在大多数 HTML 标签中使用,下面来简单介绍一下它们的用法。
1) id
id 属性用来赋予某个标签唯一的名称(标识符),当我们使用 CSS 或者 JavaScript 来操作这个标签时,就可以通过 id 属性来找到这个标签。
为标签定义 id 属性可以给我们提供很多便利,比如:
如果标签中带有 id 属性作为唯一标识符,通过 id 属性可以很方便的定位到该标签;
如果 HTML 文档中包含多个同名的标签,利用 id 属性的唯一性,可以很方便的区分它们。
注意:在一个 HTML 文档中 id 属性的值必须是唯一的。
示例代码如下所示:
<input type="text" id="username" /> <div id="content">PHP中文网</div> <p id="url">https://www.php.cn/</p>
2) class
与 id 属性类似,class 属性也可以为标签定义名称(标识符),不同的是 class 属性在整个 HTML 文档中不必是唯一的,我们可以为多个标签定义相同的 class 属性值。另外,还可以为一个 HTML 标签定义多个 class 属性值,如下所示:
<div class="className1 className2 className3"></div> <p>PHP中文网</p> <div>https://www.php.cn/</div>
当使用 CSS 或者 JavaScript 来操作 HTML 标签时,同样可以使用 class 属性来找到对应的 HTML 标签。由于 class 属性不是唯一的,所以通过 CSS 或 JavaScript 对 HTML 标签的操作会应用于所有具有同名 class 属性的标签中。
3) title
title 属性用来对标签内容进行描述说明,当鼠标移动到该标签上方时会显示出 title 属性的值,如下例所示:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>演示文档</title> </head> <body> <a href="https://www.php.cn/" title="HTML教程">HTML教程</a> </body> </html>
运行结果如下图所示:
将鼠标在链接处悬停片刻才能看到提示框。
4) style
使用 style 属性我们可以在 HTML 标签内部为标签定义 CSS 样式,例如设置文本的颜色、字体等,如下例所示:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>演示文档</title> </head> <body> <p style="color:red;">https://www.php.cn/</p> <img src="./logo.png" style="max-width:90%" alt="PHP中文网LOGO"> <div style="padding:10px;border:2px solid #999;text-align:center;">PHP中文网</div> </body> </html>
运行结果如下图所示:
标签中常用的标签
1、
2、
3、 标签
标签经常用于引用外部 CSS 样式表, 标签中包含两个主要的属性,分别是 rel 和 href。rel 属性用来指示引用文件的类型,href 属性用来设置外部文件的路径。示例代码如下:
<link rel="stylesheet" href="common.css">
4、