HTML基础-HTML标签、块、行、属性、规范

✊不积跬步,无以至千里;不积小流,无以成江海

之前写过的笔记链接:

关于起源 常用标签1\]([📝 HTML入门笔记1 (yuque.com)](https://link.juejin.cn?target=https%3A%2F%2Fwww.yuque.com%2Fliwenwang-kfcdf%2Fhqlasb%2Fqgfph2 "https://www.yuque.com/liwenwang-kfcdf/hqlasb/qgfph2")) \[关于常用标签2 如table\]([📝 HTML入门笔记2 - 常用标签 (yuque.com)](https://link.juejin.cn?target=https%3A%2F%2Fwww.yuque.com%2Fliwenwang-kfcdf%2Fhqlasb%2Fgimk1v "https://www.yuque.com/liwenwang-kfcdf/hqlasb/gimk1v")) # 常见标签、块与行、常见属性、HTML5标签、表单 ## HTML 中常见的标签 下面是一些 HTML 中常见的标签及其简要说明: 1. **``** :HTML 文档的根元素,包含整个 HTML 文档的内容。 2. **``** :HTML 文档的头部元素,用于包含文档的元数据,如标题、样式表和脚本等。 3. **``** :定义 HTML 文档的标题,显示在浏览器的标题栏或标签页上。 4. **`<body>`** :HTML 文档的主体元素,包含了页面的可见内容。 5. **`<h1>` to `<h6>`** :用于定义标题的标签,`<h1>` 表示最高级别的标题,`<h6>` 表示最低级别的标题。 6. **`<p>`** :用于定义段落的标签,用来包裹一段文本。 7. **`<a>`** :定义链接的标签,用于创建超链接到其他页面、文件或位置。 8. **`<img>`** :用于插入图像的标签,通过指定图像的路径来显示图像。 9. **`<ul>`** 和 **`<ol>`** :分别用于创建无序列表和有序列表,列表项使用 \*\*`<li>` \*\*标签包裹。 10. **`<div>`** 和 **`<span>`** :用于分组和包装其他 HTML 元素,用于样式化或操作组合的元素。 11. **`<table>`** 、**`<tr>`** 、**`<th>`** 和 **`<td>`** :用于创建表格的标签,`<table>` 定义表格,`<tr>` 定义行,`<th>` 定义表头单元格,`<td>` 定义表格数据单元格。 12. **`<form>`** 、**`<input>`** 和 **`<button>`** :用于创建表单和接收用户输入的标签,`<form>` 定义表单,`<input>` 定义输入字段,`<button>` 定义按钮。 13. **`<label>`** 和 **`<textarea>`** :`<label>` 用于为表单元素定义标签,`<textarea>` 用于创建多行文本输入框。 14. **`<header>`** 、**`<nav>`** 和 **`<footer>`** :用于定义页面的头部、导航和页脚区域。 15. **`<section>`** 和 **`<article>`** :用于定义文档的节和文章区域,用于更好地组织页面内容。 ## 块与行 在 HTML 中,有两种主要的元素类型:块级元素和行内元素。它们在布局和渲染上有一些区别。 **块级元素**(Block-level elements): * 块级元素通常会在新行上开始,并占据其父元素的整个可用宽度,从左到右水平填充。 * 块级元素可以设置宽度、高度、内边距(padding)和外边距(margin)等样式属性。 * 块级元素可以容纳其他块级元素和行内元素。 常见的块级元素包括 `<div>`、`<p>`、`<h1>` 到 `<h6>`、`<ul>`、`<ol>`、`<li>`、`<table>`、`<form>` 等。它们的特点是可以独立成块,并占据一行或多行的空间。 **行内元素**(Inline elements): * 行内元素通常不会在新行上开始,它们会尽可能地在同一行上显示,直到一行的空间不足以容纳它们,然后自动换行到下一行。 * 行内元素的宽度和高度通常由其内容决定,无法直接设置。 * 行内元素通常无法设置顶部和底部的外边距(margin),但可以设置左右外边距和内边距(padding)。 常见的行内元素包括 `<span>`、`<a>`、`<strong>`、`<em>`、`<b>`、`<i>`、`<u>`、`<img>`、`<input>`、`<label>` 等。它们的特点是在文本流中显示,并与周围的文本在同一行上。 需要注意的是,HTML5 引入了一些新的元素和元素属性,例如 `<header>`、`<nav>`、`<article>`、`<section>` 等,它们的默认样式可能是块级或行内,但可以通过 CSS 来修改它们的显示属性。 通过结合块级元素和行内元素的使用,可以实现更复杂和灵活的布局和设计,以满足不同的网页需求。 ### 块级元素和行内元素的区别 1. **显示方式**:块级元素以块的形式显示,每个块级元素通常会另起一行,并占据其父元素的整个可用宽度。行内元素则以行的形式显示,尽可能在同一行上显示,直到一行的空间不足以容纳它们,然后自动换行到下一行。 2. **尺寸**:块级元素可以设置宽度、高度、内边距(padding)和外边距(margin)等样式属性,可以独立控制它们的尺寸。行内元素的宽度和高度通常由其内容决定,无法直接设置。尽管一些行内元素可以设置水平方向的内边距和外边距,但无法设置顶部和底部的外边距。 3. **元素之间的排列**:块级元素会在垂直方向上一个接一个地堆叠,每个块级元素占据独立的行空间。行内元素会在同一行上尽可能地显示,直到一行的空间不足以容纳它们,然后自动换行到下一行。 4. **容纳内容**:块级元素可以容纳其他块级元素和行内元素,可以形成更大的块级结构。行内元素通常不能容纳块级元素,但可以包含其他行内元素。 5. **默认样式** :块级元素的默认样式是 `display: block;`,行内元素的默认样式是 `display: inline;`。然而,HTML5 引入了一些新的元素和元素属性,它们的默认样式可能是块级或行内,但可以通过 CSS 来修改它们的显示属性。 6. **语义化**:块级元素通常用于表示页面结构的主要部分,如段落、标题、列表、导航、页脚等。行内元素通常用于标记文本的不同部分或添加行内的强调、链接等。 ## 常见属性 HTML 中的元素可以使用各种属性来提供附加的信息或控制元素的行为和样式。以下是一些常见的 HTML 属性: 1. **`id`**:为元素定义唯一的标识符,通常用于在 CSS 和 JavaScript 中选择和操作元素。 2. **`class`**:为元素定义一个或多个类名,用于选择和样式化一组元素。 3. **`style`**:内联样式属性,用于为元素指定特定的样式,如颜色、字体大小、边框等。 4. **`src`**:用于指定图像、音频、视频等媒体元素的源文件路径。 5. **`href`**:用于指定链接元素的目标 URL,通常用于创建超链接。 6. **`alt`**:用于为图像元素定义替代文本,当图像无法显示时,替代文本将被显示。 7. **`width`** 和 **`height`**:用于指定图像、表格单元格或其他元素的宽度和高度。 8. **`disabled`**:用于禁用表单元素或按钮,使其无法交互或点击。 9. **`placeholder`**:用于在表单输入字段中提供提示性的占位符文本。 10. **`required`**:用于指示表单输入字段是必填项,在提交表单时要求用户输入值。 11. **`readonly`**:用于将表单输入字段设置为只读,用户无法编辑其中的内容。 12. **`checked`**:用于选中复选框或单选按钮的默认选项。 13. **`value`**:用于指定表单元素的默认值或用户输入的值。 14. **`data-*`** :用于自定义数据属性,可以在元素中存储自定义数据,供 JavaScript 使用。 ## HTML5标签 HTML5 引入了一些新的语义化标签,这些标签提供了更好的结构和含义,使开发人员能够更清晰地描述文档内容。以下是一些常见的 HTML5 标签: 1. **`<header>`** :表示文档或节的页眉部分,通常包含标题、导航和其他相关信息。 2. **`<nav>`** :表示导航链接的容器,用于定义页面的主要导航。 3. **`<article>`** :表示独立的、完整的、可独立分发或可重复使用的内容块,如博客文章、新闻稿等。 4. **`<section>`** :表示文档中的一个独立节或主题区域,可用于组织相关的内容。 5. **`<aside>`** :表示页面的侧边栏或附属内容,通常包含与主要内容相关但不是核心的信息。 6. **`<main>`** :表示文档的主要内容,每个文档应该只有一个 `<main>` 元素。 7. **`<footer>`** :表示文档或节的页脚部分,通常包含版权信息、联系方式等。 8. **`<figure>`** 和 **`<figcaption>`** :`<figure>` 用于包含一组与主要文档流相关的图像、图表、照片等媒体,而 `<figcaption>` 用于为这些媒体提供标题或说明。 9. **`<time>`** :用于表示日期、时间或时间范围,具有机器可读和人类可读的属性。 10. **`<video>`** 和 **`<audio>`** :分别用于嵌入视频和音频内容,可以通过设置源文件路径和其他属性来控制媒体的播放。 11. **`<canvas>`** :用于通过 JavaScript 绘制图形、动画、图表等。 12. **`<progress>`** :表示任务的完成进度,例如文件上传进度、表单提交进度等。 13. **`<form>`** 和 **`<input>`** :`<form>` 用于创建表单,而 `<input>` 用于定义输入字段。 14. **`<datalist>`** 和 **`<option>`** :`<datalist>` 用于定义输入字段的选项列表,而 `<option>` 用于定义 `<datalist>` 中的选项。 ## 表单 HTML 表单是一种用于收集用户输入数据的机制,可以用来创建各种形式的交互,例如用户注册、搜索功能、提交评论等。以下是 HTML 表单的基本组成部分和相关元素: 1. **`<form>` 元素** :用于创建表单,它包含了表单中的所有其他元素。`<form>` 元素具有 `action` 和 `method` 属性,用于定义表单提交的目标 URL 和请求方法。 2. **`<input>` 元素** :用于创建各种类型的输入字段,如文本输入、密码输入、单选按钮、复选框等。`<input>` 元素具有多个不同的类型属性,例如 `type="text"`、`type="password"`、`type="radio"` 等。 3. **`<textarea>` 元素**:用于创建多行文本输入字段,通常用于用户输入大段文本,如评论或消息。 4. **`<select>` 元素** 和 **`<option>` 元素** :`<select>` 元素用于创建下拉选择框,而 `<option>` 元素用于定义下拉选项。用户可以从下拉列表中选择一个选项。 5. **`<button>` 元素**:用于创建按钮,可以用作提交表单、重置表单或执行其他自定义操作。 6. **`<label>` 元素** :用于为表单元素创建标签,提供可点击的文本描述。`<label>` 元素通常与相应的表单元素关联,通过 `for` 属性指定关联的表单元素的 `id` 值。 7. **`<fieldset>` 元素** 和 **`<legend>` 元素** :`<fieldset>` 元素用于将表单元素分组,并可使用 `<legend>` 元素为分组创建标题。 8. **`<input type="submit">`** 和 **`<input type="reset">`** :`<input>` 元素的 `type` 属性可以设置为 `"submit"` 和 `"reset"`,用于创建提交按钮和重置按钮。 9. **`<input type="checkbox">`** 和 **`<input type="radio">`** :`<input>` 元素的 `type` 属性可以设置为 `"checkbox"` 和 `"radio"`,用于创建复选框和单选按钮。 # HTML规范、命名经验、常规命名法和BEM命名法 ## HTML规范 HTML 规范是由万维网联盟(W3C)制定和维护的一套标准,用于定义 HTML 的语法和行为,以确保在不同的浏览器和设备上一致地解释和呈现网页内容。以下是关于 HTML 规范的一些重要方面: 1. **HTML5 规范**:HTML5 是最新的 HTML 规范版本,它引入了一些新的元素、属性和 API,提供更强大的语义化和功能。HTML5 规范于2014年推出,并持续更新和发展。 2. **文档类型声明(DOCTYPE)** :HTML 规范要求在 HTML 文档的开头使用 DOCTYPE 声明来指定所使用的 HTML 版本。例如,`<!DOCTYPE html>` 声明表示使用 HTML5。 3. **语法规则**:HTML 规范定义了 HTML 的语法规则,包括标签的嵌套关系、属性的使用方式、元素的闭合等。遵循正确的语法是确保网页正确解析和渲染的关键。 4. **语义化标签** :HTML 规范鼓励使用语义化标签来描述文档的结构和内容,例如 `<header>`、`<nav>`、`<article>` 等。这些标签提供了更准确的含义,有助于提高可访问性和搜索引擎优化。 5. **属性和元素**:HTML 规范定义了各种属性和元素,用于控制元素的行为、样式和交互。规范中详细说明了每个属性和元素的可用取值、默认行为和浏览器支持情况。 6. **表单和输入控件**:HTML 规范详细描述了如何创建表单和各种类型的输入控件,以便收集用户输入数据。 7. **媒体元素** :HTML 规范提供了 `<img>`、`<video>`、`<audio>` 等元素,用于嵌入图像、视频、音频等媒体内容。 8. **脚本和样式**:HTML 规范定义了如何在 HTML 文档中嵌入 JavaScript 和 CSS 代码,以实现动态交互和样式化。 9. **可访问性(Accessibility)** :HTML 规范关注可访问性,提供了一些属性和技术,用于使网页内容对残障用户更易访问。 10. **浏览器兼容性**:HTML 规范努力确保在不同的浏览器和设备上一致地解释和呈现网页内容。然而,不同浏览器对规范的支持程度可能存在差异,开发人员需要注意浏览器兼容性问题,并使用适当的技术进行兼容性处理。 ## 命名经验 在编写 HTML 代码时,使用良好的命名实践可以提高代码的可读性、可维护性和可扩展性。以下是一些HTML命名的经验: 1. **语义化命名**:使用具有明确语义的名称来描述元素的用途和内容。选择能够准确描述元素的类名、ID和标签名,这有助于他人理解代码结构和意图。 2. **简洁明了**:使用简短、清晰的名称,避免过长或复杂的命名。使用简洁的命名可以提高代码的可读性,使其更易于理解和维护。 3. **一致性**:保持命名风格的一致性,遵循统一的命名约定。选择一种命名风格(如驼峰式命名、短横线分隔命名等)并坚持使用,以确保代码的一致性。 4. **可读性**:选择易于阅读和理解的命名,使用有意义的单词或缩写。避免使用过于晦涩或难以理解的命名方式,以便其他开发人员能够轻松理解和维护代码。 5. **避免保留字**:避免使用 HTML 或相关编程语言中的保留字作为命名,以防止出现冲突或意外行为。 6. **可扩展性**:在命名中考虑到代码的可扩展性,选择能够适应未来变化和添加功能的命名。避免过于特定的命名,以便在需要扩展或修改代码时能够轻松进行调整。 7. **语言规范**:根据所使用的编程语言和框架的命名规范,遵循相关的命名约定。例如,对于 CSS 类名,可以使用 BEM(块、元素、修饰符)命名规范。 8. **可搜索性**:选择易于搜索和定位的命名,这有助于在代码库中进行查找和维护。使用一致的命名模式和约定,以便能够快速找到所需的元素或样式。 ## 常规命名法和BEM命名法 ### 常规命名法 常规命名法是一种简单直接的命名方式,通常使用单词或简短的缩写来描述元素的用途或内容。以下是常规命名法的一些特点: 1. **驼峰命名法** :使用首字母小写的单词,并将每个单词的首字母大写,形成一个单一的命名。例如,`headerSection`、`submitButton`。 2. **短横线分隔命名法** :使用小写字母和短横线来分隔单词,描述元素的用途或内容。例如,`header-section`、`submit-button`。 3. **下划线命名法** :使用小写字母和下划线来分隔单词,描述元素的用途或内容。例如,`header_section`、`submit_button`。 常规命名法简单易懂,容易理解和记忆。它适用于小型项目或个人项目,不需要过多的命名约定和规范。 ### BEM命名法 BEM(块、元素、修饰符)命名法是一种用于命名 CSS 类名的约定,它提供了一种更结构化和语义化的命名方式。以下是 BEM 命名法的一些特点: 1. **块(Block)** :块是一个独立的、可重复使用的组件或模块,它代表一个完整的功能单元。块的类名使用单个单词或短横线分隔的单词,例如 `header`、`menu`。 2. **元素(Element)** :元素是块的组成部分,它们只在特定块的上下文中有意义。元素的类名以块的类名作为前缀,使用双下划线连接,例如 `header__logo`、`menu__item`。 3. **修饰符(Modifier)** :修饰符用于描述块或元素的状态、外观或行为变化。修饰符的类名以块或元素的类名作为前缀,使用单个单词或短横线分隔的单词,例如 `header--dark`、`menu__item--active`。 BEM 命名法通过将类名分为块、元素和修饰符,提供了更清晰和可扩展的命名结构。它有助于减少样式冲突、提高代码可读性,并支持模块化和可重用性。 </p></div></div><!----><!--]--></div></div><span data-v-9d593865></span><div class="article-tag-list" data-v-9d593865><!--[--><a href="/tag/353" class="" data-v-9d593865><button ariadisabled="false" type="button" class="el-button el-button--info is-text is-has-bg" style="" data-v-9d593865><!--v-if--><span class=""><!--[-->html<!--]--></span></button></a><!--]--></div><div class="article-pre-next" data-v-9d593865><div data-v-9d593865><a href="/article/1725714456584916994" class="" data-v-9d593865><span data-v-9d593865>上一篇:</span><span class="article-pre-next-item-title" data-v-9d593865>qiankun源码分析-7.css沙箱</span></a></div><div data-v-9d593865><a href="/article/1725714504479674370" class="" data-v-9d593865><span data-v-9d593865>下一篇:</span><span class="article-pre-next-item-title" data-v-9d593865>深度优化数据库性能:Linux 内核参数调整解析</span></a></div></div></div><ins class="adsbygoogle" style="display:block;" data-ad-client="ca-pub-4340231068438843" data-ad-slot="3187524902" data-ad-format="auto" data-full-width-responsive="true" data-v-9d593865></ins><!----><div class="article-recommend-card" data-v-9d593865><span class="article-recommend-card-title" data-v-9d593865>相关推荐</span><div class="el-divider el-divider--horizontal" style="--el-border-style:solid;" role="separator" data-v-9d593865><!--v-if--></div><div class="article-recommend-list" data-v-9d593865><!--[--><a href="/article/1981105875042500609" class="article-recommend-list-item" data-v-9d593865><div class="article-recommend-list-item-info" data-v-9d593865><span data-v-9d593865>昔人'</span><div class="el-divider el-divider--vertical" style="--el-border-style:solid;" role="separator" data-v-9d593865><!--v-if--></div><span data-v-9d593865>15 分钟前</span></div><span class="article-recommend-list-item-title" data-v-9d593865>`list-style-type: decimal-leading-zero;`在有序列表`<ol></ol>` 中将零添加到一位数前面</span><div class="article-recommend-list-item-tag-list" data-v-9d593865><!--[--><!--[--><!----><span data-v-9d593865>前端</span><!--]--><!--[--><span class="article-recommend-list-item-tag-list-divider" data-v-9d593865>·</span><span data-v-9d593865>javascript</span><!--]--><!--[--><span class="article-recommend-list-item-tag-list-divider" data-v-9d593865>·</span><span data-v-9d593865>html</span><!--]--><!--]--></div></a><a href="/article/1981008374826336258" class="article-recommend-list-item" data-v-9d593865><div class="article-recommend-list-item-info" data-v-9d593865><span data-v-9d593865>fruge</span><div class="el-divider el-divider--vertical" style="--el-border-style:solid;" role="separator" data-v-9d593865><!--v-if--></div><span data-v-9d593865>7 小时前</span></div><span class="article-recommend-list-item-title" data-v-9d593865>前端三驾马车(HTML/CSS/JS)核心概念深度解析</span><div class="article-recommend-list-item-tag-list" data-v-9d593865><!--[--><!--[--><!----><span data-v-9d593865>前端</span><!--]--><!--[--><span class="article-recommend-list-item-tag-list-divider" data-v-9d593865>·</span><span data-v-9d593865>css</span><!--]--><!--[--><span class="article-recommend-list-item-tag-list-divider" data-v-9d593865>·</span><span data-v-9d593865>html</span><!--]--><!--]--></div></a><a href="/article/1980971833894699009" class="article-recommend-list-item" data-v-9d593865><div class="article-recommend-list-item-info" data-v-9d593865><span data-v-9d593865>软件技术NINI</span><div class="el-divider el-divider--vertical" style="--el-border-style:solid;" role="separator" data-v-9d593865><!--v-if--></div><span data-v-9d593865>9 小时前</span></div><span class="article-recommend-list-item-title" data-v-9d593865>html css js网页制作成品——HTML+CSS仙台有树电视剧网页设计(5页)附源码</span><div class="article-recommend-list-item-tag-list" data-v-9d593865><!--[--><!--[--><!----><span data-v-9d593865>javascript</span><!--]--><!--[--><span class="article-recommend-list-item-tag-list-divider" data-v-9d593865>·</span><span data-v-9d593865>css</span><!--]--><!--[--><span class="article-recommend-list-item-tag-list-divider" data-v-9d593865>·</span><span data-v-9d593865>html</span><!--]--><!--]--></div></a><a href="/article/1980852233110618113" class="article-recommend-list-item" data-v-9d593865><div class="article-recommend-list-item-info" data-v-9d593865><span data-v-9d593865>雨过天晴而后无语</span><div class="el-divider el-divider--vertical" style="--el-border-style:solid;" role="separator" data-v-9d593865><!--v-if--></div><span data-v-9d593865>17 小时前</span></div><span class="article-recommend-list-item-title" data-v-9d593865>HTML纯JS添加删除行示例一</span><div class="article-recommend-list-item-tag-list" data-v-9d593865><!--[--><!--[--><!----><span data-v-9d593865>前端</span><!--]--><!--[--><span class="article-recommend-list-item-tag-list-divider" data-v-9d593865>·</span><span data-v-9d593865>javascript</span><!--]--><!--[--><span class="article-recommend-list-item-tag-list-divider" data-v-9d593865>·</span><span data-v-9d593865>html</span><!--]--><!--]--></div></a><a href="/article/1980845614658289666" class="article-recommend-list-item" data-v-9d593865><div class="article-recommend-list-item-info" data-v-9d593865><span data-v-9d593865>luckyPian</span><div class="el-divider el-divider--vertical" style="--el-border-style:solid;" role="separator" data-v-9d593865><!--v-if--></div><span data-v-9d593865>17 小时前</span></div><span class="article-recommend-list-item-title" data-v-9d593865>前端+AI:HTML5语义标签(一)</span><div class="article-recommend-list-item-tag-list" data-v-9d593865><!--[--><!--[--><!----><span data-v-9d593865>前端</span><!--]--><!--[--><span class="article-recommend-list-item-tag-list-divider" data-v-9d593865>·</span><span data-v-9d593865>ai</span><!--]--><!--[--><span class="article-recommend-list-item-tag-list-divider" data-v-9d593865>·</span><span data-v-9d593865>面试</span><!--]--><!--[--><span class="article-recommend-list-item-tag-list-divider" data-v-9d593865>·</span><span data-v-9d593865>html</span><!--]--><!--[--><span class="article-recommend-list-item-tag-list-divider" data-v-9d593865>·</span><span data-v-9d593865>html5</span><!--]--><!--[--><span class="article-recommend-list-item-tag-list-divider" data-v-9d593865>·</span><span data-v-9d593865>ai编程</span><!--]--><!--]--></div></a><a href="/article/1980830405264736257" class="article-recommend-list-item" data-v-9d593865><div class="article-recommend-list-item-info" data-v-9d593865><span data-v-9d593865>有意义</span><div class="el-divider el-divider--vertical" style="--el-border-style:solid;" role="separator" data-v-9d593865><!--v-if--></div><span data-v-9d593865>18 小时前</span></div><span class="article-recommend-list-item-title" data-v-9d593865>用HTML5、CSS和JavaScript创造代码敲击乐</span><div class="article-recommend-list-item-tag-list" data-v-9d593865><!--[--><!--[--><!----><span data-v-9d593865>html</span><!--]--><!--]--></div></a><a href="/article/1980813615038005250" class="article-recommend-list-item" data-v-9d593865><div class="article-recommend-list-item-info" data-v-9d593865><span data-v-9d593865>皮皮虾我们跑</span><div class="el-divider el-divider--vertical" style="--el-border-style:solid;" role="separator" data-v-9d593865><!--v-if--></div><span data-v-9d593865>20 小时前</span></div><span class="article-recommend-list-item-title" data-v-9d593865>前端HTML常用基础标</span><div class="article-recommend-list-item-tag-list" data-v-9d593865><!--[--><!--[--><!----><span data-v-9d593865>前端</span><!--]--><!--[--><span class="article-recommend-list-item-tag-list-divider" data-v-9d593865>·</span><span data-v-9d593865>javascript</span><!--]--><!--[--><span class="article-recommend-list-item-tag-list-divider" data-v-9d593865>·</span><span data-v-9d593865>html</span><!--]--><!--]--></div></a><a href="/article/1980806074988036097" class="article-recommend-list-item" data-v-9d593865><div class="article-recommend-list-item-info" data-v-9d593865><span data-v-9d593865>小张成长计划..</span><div class="el-divider el-divider--vertical" style="--el-border-style:solid;" role="separator" data-v-9d593865><!--v-if--></div><span data-v-9d593865>20 小时前</span></div><span class="article-recommend-list-item-title" data-v-9d593865>前端7:综合案例--品优购项目(HTML+CSS)</span><div class="article-recommend-list-item-tag-list" data-v-9d593865><!--[--><!--[--><!----><span data-v-9d593865>前端</span><!--]--><!--[--><span class="article-recommend-list-item-tag-list-divider" data-v-9d593865>·</span><span data-v-9d593865>css</span><!--]--><!--[--><span class="article-recommend-list-item-tag-list-divider" data-v-9d593865>·</span><span data-v-9d593865>html</span><!--]--><!--]--></div></a><a href="/article/1980795954262507522" class="article-recommend-list-item" data-v-9d593865><div class="article-recommend-list-item-info" data-v-9d593865><span data-v-9d593865>杨超越luckly</span><div class="el-divider el-divider--vertical" style="--el-border-style:solid;" role="separator" data-v-9d593865><!--v-if--></div><span data-v-9d593865>21 小时前</span></div><span class="article-recommend-list-item-title" data-v-9d593865>HTML应用指南:利用POST请求获取中国一汽红旗门店位置信息</span><div class="article-recommend-list-item-tag-list" data-v-9d593865><!--[--><!--[--><!----><span data-v-9d593865>前端</span><!--]--><!--[--><span class="article-recommend-list-item-tag-list-divider" data-v-9d593865>·</span><span data-v-9d593865>arcgis</span><!--]--><!--[--><span class="article-recommend-list-item-tag-list-divider" data-v-9d593865>·</span><span data-v-9d593865>html</span><!--]--><!--[--><span class="article-recommend-list-item-tag-list-divider" data-v-9d593865>·</span><span data-v-9d593865>数据可视化</span><!--]--><!--[--><span class="article-recommend-list-item-tag-list-divider" data-v-9d593865>·</span><span data-v-9d593865>门店数据</span><!--]--><!--]--></div></a><a href="/article/1980682607080833026" class="article-recommend-list-item" data-v-9d593865><div class="article-recommend-list-item-info" data-v-9d593865><span data-v-9d593865>速易达网络</span><div class="el-divider el-divider--vertical" style="--el-border-style:solid;" role="separator" data-v-9d593865><!--v-if--></div><span data-v-9d593865>1 天前</span></div><span class="article-recommend-list-item-title" data-v-9d593865>Bootstrap 5 响应式网站首页模板</span><div class="article-recommend-list-item-tag-list" data-v-9d593865><!--[--><!--[--><!----><span data-v-9d593865>前端</span><!--]--><!--[--><span class="article-recommend-list-item-tag-list-divider" data-v-9d593865>·</span><span data-v-9d593865>bootstrap</span><!--]--><!--[--><span class="article-recommend-list-item-tag-list-divider" data-v-9d593865>·</span><span data-v-9d593865>html</span><!--]--><!--]--></div></a><!--]--></div></div><ins class="adsbygoogle" style="display:block;" data-ad-client="ca-pub-4340231068438843" data-ad-slot="3187524902" data-ad-format="auto" data-full-width-responsive="true" data-v-9d593865></ins><!----></div><div class="right" data-v-9d593865><div class="right-body" data-v-9d593865><div class="hot-article-rank hot-article-rank-wrapper" data-v-9d593865 data-v-9f329d47><span class="title" data-v-9f329d47>热门推荐</span><div class="el-divider el-divider--horizontal" style="--el-border-style:solid;" role="separator" data-v-9f329d47><!--v-if--></div><div class="article-list" data-v-9f329d47><!--[--><a href="/article/1965957555249266689" class="article" data-v-9f329d47><span class="article-index" data-v-9f329d47>01</span><span class="article-title" data-v-9f329d47>GitHub 镜像站点</span></a><a href="/article/1915922587008487425" class="article" data-v-9f329d47><span class="article-index" data-v-9f329d47>02</span><span class="article-title" data-v-9f329d47>BongoCat - 跨平台键盘猫动画工具</span></a><a href="/article/1950564991094009857" class="article" data-v-9f329d47><span class="article-index" data-v-9f329d47>03</span><span class="article-title" data-v-9f329d47>UV安装并设置国内源</span></a><a href="/article/1932679439594336257" class="article" data-v-9f329d47><span class="article-index" data-v-9f329d47>04</span><span class="article-title" data-v-9f329d47>Linux下V2Ray安装配置指南</span></a><a href="/article/1954746713159282690" class="article" data-v-9f329d47><span class="article-index" data-v-9f329d47>05</span><span class="article-title" data-v-9f329d47>GitLab 零基础入门指南:从安装到项目管理全流程</span></a><a href="/article/1898984783640907778" class="article" data-v-9f329d47><span class="article-index" data-v-9f329d47>06</span><span class="article-title" data-v-9f329d47>NVIDIA显卡驱动、CUDA、cuDNN 和 TensorRT 版本匹配指南</span></a><a href="/article/1973583953492770817" class="article" data-v-9f329d47><span class="article-index" data-v-9f329d47>07</span><span class="article-title" data-v-9f329d47>一文了解国产算子编程语言 TileLang,TileLang 对国产开源生态的影响与启示</span></a><a href="/article/1898180416910249985" class="article" data-v-9f329d47><span class="article-index" data-v-9f329d47>08</span><span class="article-title" data-v-9f329d47>2025软件测试面试八股文(含答案+文档)</span></a><a href="/article/1949280486538391554" class="article" data-v-9f329d47><span class="article-index" data-v-9f329d47>09</span><span class="article-title" data-v-9f329d47>在VSCode配置Java开发环境的保姆级教程(适配各类AI编程IDE)</span></a><a href="/article/1955574023311634434" class="article" data-v-9f329d47><span class="article-index" data-v-9f329d47>10</span><span class="article-title" data-v-9f329d47>Labelme从安装到标注:零基础完整指南</span></a><!--]--></div></div><!----></div></div></div></div></div><div id="teleports"></div><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="true" id="__NUXT_DATA__">[["ShallowReactive",1],{"data":2,"state":372,"once":375,"_errors":376,"serverRendered":378,"path":379},["ShallowReactive",3],{"wDdEB1REj7eOVA0IINOW8By0h7e6k9_YCMGESItz9sY":4,"glaIx14zzTwMHHGT3VRKOAAT2IWy941uSBVkEtcvnRA":190,"PAjRY75aBgVnDKjWXqzRrfrkUgCGfPiXeKPCTBSM0ME":192,"pwF05uiDsD37-6cryNmWZWOQkrL7CXKJ0ctl_bWDjY4":349},[5,19,42,59,78,89,107,139,168,179],{"id":6,"title":7,"description":8,"imgUrl":9,"views":10,"ownerId":11,"ownerName":12,"ownerHeadUrl":13,"tagList":14,"time":18},"1965957555249266689","GitHub 镜像站点","国内访问 GitHub 有时会遇到速度慢或不稳定的情况,这时 GitHub 镜像站点就能帮上忙。它们通过代理或缓存机制,让你更顺畅地浏览仓库、下载资源甚至克隆代码。","",4024,"1851173111697772545","BillKu","https://profile-avatar.csdnimg.cn/default.jpg",[15],{"id":16,"name":17},424,"github",1757555781000,{"id":20,"title":21,"description":22,"imgUrl":23,"views":24,"ownerId":25,"ownerName":26,"ownerHeadUrl":27,"tagList":28,"time":41},"1915922587008487425","BongoCat - 跨平台键盘猫动画工具","本文翻译整理自:https://github.com/ayangweb/BongoCatBongoCat 是一款跨平台的键盘猫动画工具,能够实时显示用户键盘和鼠标操作的可视化效果。","https://i-blog.csdnimg.cn/direct/cce2f8b6f6ee48dc8212484e8b4ebef0.png",3170,"1682248433810804738","伊织code","https://file.jishuzhan.net/user/1682248433810804738/head.png",[29,32,35,38],{"id":30,"name":31},364,"计算机外设",{"id":33,"name":34},1135,"动画",{"id":36,"name":37},1636,"键盘",{"id":39,"name":40},88509,"bongocat",1745626515000,{"id":43,"title":44,"description":45,"imgUrl":46,"views":47,"ownerId":48,"ownerName":49,"ownerHeadUrl":50,"tagList":51,"time":58},"1950564991094009857","UV安装并设置国内源","国内网络问题无法下载解决方案 来到github下载自己对应系统的包: https://github.com/astral-sh/uv/releases","https://i-blog.csdnimg.cn/direct/f35ac3e06c9448d38fa3eb735254c454.png",12607,"1684403235311325185","落魄实习生","https://file.jishuzhan.net/user/1684403235311325185/head.png",[52,55],{"id":53,"name":54},58,"python",{"id":56,"name":57},4529,"uv",1753885908000,{"id":60,"title":61,"description":62,"imgUrl":9,"views":63,"ownerId":64,"ownerName":65,"ownerHeadUrl":66,"tagList":67,"time":77},"1932679439594336257","Linux下V2Ray安装配置指南","本文档提供了在Linux系统上安装、配置和使用V2Ray的完整流程,包括从订阅链接自动生成配置文件、设置代理环境变量以及常见问题的解决方案。",7705,"1932679443885109249","Bigbig.","https://profile-avatar.csdnimg.cn/d79b884ab2274031998690f8b491b6d7_weixin_45036087.jpg",[68,71,74],{"id":69,"name":70},9,"linux",{"id":72,"name":73},10,"运维",{"id":75,"name":76},43,"chrome",1749621660000,{"id":79,"title":80,"description":81,"imgUrl":82,"views":83,"ownerId":84,"ownerName":85,"ownerHeadUrl":86,"tagList":87,"time":88},"1954746713159282690","GitLab 零基础入门指南:从安装到项目管理全流程","Git 作为版本控制工具已经成为开发者日常工作的必备技能,而 GitLab 作为与 GitHub 齐名的代码托管平台,凭借其强大的自托管能力和企业级功能,在团队协作与 DevOps 流程中占据着重要地位。本文将带你从零开始,一步步完成 GitLab 的安装部署、基础配置,并通过实际操作掌握项目、用户与群组的管理方法,让你快速上手这个强大的协作平台。","https://i-blog.csdnimg.cn/direct/d1765f3ad9e74e55ab69a0a99ad8cf7e.png",763,"1951883307779665921","上邪o_O","https://i-avatar.csdnimg.cn/1f33f8c6d0be450f9d355534e268ebb0_m0_65643526.jpg",[],1754882908000,{"id":90,"title":91,"description":92,"imgUrl":93,"views":94,"ownerId":95,"ownerName":96,"ownerHeadUrl":97,"tagList":98,"time":106},"1898984783640907778","NVIDIA显卡驱动、CUDA、cuDNN 和 TensorRT 版本匹配指南","1、下载驱动 前往NVIDIA驱动下载页,输入显卡型号和操作系统类型,选择≥目标CUDA版本要求的驱动版本‌。","https://i-blog.csdnimg.cn/direct/2034ec55375c4ffc8912f0ccfb5a08b1.png",2597,"1700519045125640194","byxdaz","https://file.jishuzhan.net/user/1700519045125640194/head.jpeg",[99,100,103],{"id":69,"name":70},{"id":101,"name":102},39,"人工智能",{"id":104,"name":105},72,"深度学习",1741588228000,{"id":108,"title":109,"description":110,"imgUrl":111,"views":112,"ownerId":113,"ownerName":114,"ownerHeadUrl":115,"tagList":116,"time":138},"1973583953492770817","一文了解国产算子编程语言 TileLang,TileLang 对国产开源生态的影响与启示","🍉 CSDN 叶庭云:https://yetingyun.blog.csdn.net/随着人工智能(Artificial Intelligence,AI)技术的迅猛发展,深度学习模型的复杂度和规模正呈指数级增长,这给底层计算效率带来了前所未有的挑战。AI 算子是构成深度学习模型的基本计算单元,其性能直接决定了整个模型的训练和推理效率。然而,传统的算子开发语言存在诸多瓶颈。例如,CUDA 编程门槛高;Triton (提供了领域专用的语言和编译器)等现有领域专用语言(Domain-Specific Lang","https://i-blog.csdnimg.cn/direct/b3f089ced09b482aa4a8370fdf5492e0.png",507,"1687381843973771265","叶庭云","https://file.jishuzhan.net/user/1687381843973771265/head.png",[117,120,123,126,129,132,135],{"id":118,"name":119},322,"开源",{"id":121,"name":122},13057,"昇腾",{"id":124,"name":125},38001,"开发效率",{"id":127,"name":128},102953,"tilelang",{"id":130,"name":131},102954,"算子编程语言",{"id":133,"name":134},102955,"deepseek-v3.2",{"id":136,"name":137},102956,"国产 ai 硬件",1759374056000,{"id":140,"title":141,"description":142,"imgUrl":9,"views":143,"ownerId":144,"ownerName":145,"ownerHeadUrl":146,"tagList":147,"time":167},"1898180416910249985","2025软件测试面试八股文(含答案+文档)","简述测试流程:1、阅读相关技术文档(如产品PRD、UI设计、产品流程图等)。2、参加需求评审会议。3、根据最终确定的需求文档编写测试计划。",1352,"1879885947353436161","程序员三藏","https://i-avatar.csdnimg.cn/300c7dfdacf9463ebf5f39ca40351117_HUACE6035.jpg",[148,151,154,155,158,161,164],{"id":149,"name":150},20,"自动化测试",{"id":152,"name":153},21,"软件测试",{"id":53,"name":54},{"id":156,"name":157},88,"测试工具",{"id":159,"name":160},211,"面试",{"id":162,"name":163},212,"职场和发展",{"id":165,"name":166},473,"测试用例",1741396452000,{"id":169,"title":170,"description":171,"imgUrl":172,"views":173,"ownerId":174,"ownerName":175,"ownerHeadUrl":176,"tagList":177,"time":178},"1949280486538391554","在VSCode配置Java开发环境的保姆级教程(适配各类AI编程IDE)","目前,Cursor、Kiro、Trae、WindSurf等主流的AI编程工具都是基于Visual Studio Code(VS Code)的使用习惯开发的,Java开发也应不再局限于Eclipse或IntelliJ IDEA。 本文将详细介绍如何在VS Code中配置完整的Java开发环境,包括JDK、Git、Maven和Spring Boot项目开发,让你轻松上手这一高效开发工具。","https://i-blog.csdnimg.cn/direct/456fbd0388c744d58c8958d5a2d45b55.png",567,"1738302914000064513","funfan0517","https://file.jishuzhan.net/user/1738302914000064513/head.webp",[],1753579658000,{"id":180,"title":181,"description":182,"imgUrl":183,"views":184,"ownerId":185,"ownerName":186,"ownerHeadUrl":187,"tagList":188,"time":189},"1955574023311634434","Labelme从安装到标注:零基础完整指南","本文手把手教你安装开源图像标注神器Labelme,详解多边形/矩形标注技巧,并附JSON转数据集代码!适合计算机视觉/深度学习初学者,小白也能秒懂~","https://i-blog.csdnimg.cn/direct/f07cfa17b8a44fbb8fcf07986f59a3f8.png",884,"1935494198236590081","AI妈妈手把手","https://i-avatar.csdnimg.cn/7380e0eb3a89485689899cb2710e3bc1_qiutesting.jpg",[],1755080154000,{"adMap":191},["Map"],[193,211,227,240,252,275,286,299,313,334],{"id":194,"title":195,"description":9,"imgUrl":9,"views":196,"ownerId":197,"ownerName":198,"ownerHeadUrl":199,"tagList":200,"time":210},"1981105875042500609","`list-style-type: decimal-leading-zero;`在有序列表`<ol></ol>` 中将零添加到一位数前面",2,"1780604143493189633","昔人'","https://file.jishuzhan.net/user/1780604143493189633/head.webp",[201,204,207],{"id":202,"name":203},14,"前端",{"id":205,"name":206},15,"javascript",{"id":208,"name":209},353,"html",1761167422000,{"id":212,"title":213,"description":214,"imgUrl":215,"views":216,"ownerId":217,"ownerName":218,"ownerHeadUrl":219,"tagList":220,"time":226},"1981008374826336258","前端三驾马车(HTML/CSS/JS)核心概念深度解析","在前端开发的世界里,HTML、CSS 和 JavaScript 被誉为 “三驾马车”,它们共同支撑起了我们所看到的每一个网页和 Web 应用。HTML 搭建页面骨架,CSS 负责美化外观,JavaScript 则赋予页面交互能力。本文将深入剖析这三者的核心概念,尤其是 CSS 中 Flex 与 Grid 布局的实战用法,以及 JavaScript 中原型链与闭包的通俗解读,并通过图表辅助理解,帮助大家夯实前端基础。","https://i-blog.csdnimg.cn/direct/2dd38ccd349b46c3abacfae23c480233.png",1,"1684481625385078785","fruge","https://file.jishuzhan.net/user/1684481625385078785/head.png",[221,222,225],{"id":202,"name":203},{"id":223,"name":224},16,"css",{"id":208,"name":209},1761144176000,{"id":228,"title":229,"description":230,"imgUrl":231,"views":196,"ownerId":232,"ownerName":233,"ownerHeadUrl":234,"tagList":235,"time":239},"1980971833894699009","html css js网页制作成品——HTML+CSS仙台有树电视剧网页设计(5页)附源码","目录一、👨‍🎓网站题目二、✍️网站描述三、📚网站介绍四、🌐网站效果五、🪓 代码实现🧱HTML","https://i-blog.csdnimg.cn/direct/891eeea4f2fc4f719133e18a0f3f8b0b.png","1797178332740063234","软件技术NINI","https://profile-avatar.csdnimg.cn/9250257201aa44eba9343906f57d7592_2301_78133614.jpg",[236,237,238],{"id":205,"name":206},{"id":223,"name":224},{"id":208,"name":209},1761135464000,{"id":241,"title":242,"description":243,"imgUrl":9,"views":244,"ownerId":245,"ownerName":246,"ownerHeadUrl":13,"tagList":247,"time":251},"1980852233110618113","HTML纯JS添加删除行示例一","目录一、说明二、代码此示例为一个纯html的添加删除行的示例。意在展示dom的操作中的appenChild用法。",4,"1977268998908739586","雨过天晴而后无语",[248,249,250],{"id":202,"name":203},{"id":205,"name":206},{"id":208,"name":209},1761106949000,{"id":253,"title":254,"description":255,"imgUrl":256,"views":257,"ownerId":258,"ownerName":259,"ownerHeadUrl":260,"tagList":261,"time":274},"1980845614658289666","前端+AI:HTML5语义标签(一)","分享一个电脑使用技巧,针对windows电脑. windows+ 左/右→ 可实现左右分屏。hr是一个单标签。","https://i-blog.csdnimg.cn/direct/3c706e81a4c340ed90d15ad8d13fd5f8.png",7,"1721886646732853249","luckyPian","https://file.jishuzhan.net/user/1721886646732853249/head.webp",[262,263,266,267,268,271],{"id":202,"name":203},{"id":264,"name":265},189,"ai",{"id":159,"name":160},{"id":208,"name":209},{"id":269,"name":270},1045,"html5",{"id":272,"name":273},1235,"ai编程",1761105371000,{"id":276,"title":277,"description":278,"imgUrl":279,"views":244,"ownerId":280,"ownerName":281,"ownerHeadUrl":282,"tagList":283,"time":285},"1980830405264736257","用HTML5、CSS和JavaScript创造代码敲击乐","在数字艺术与编程技术交融的今天,HTML5 敲击乐作为一种新颖的交互形式,正在重新定义人们与音乐的互动方式。通过 HTML5、CSS3 和 JavaScript 这前端三剑客的协同工作,开发者能够构建出无需依赖任何插件的网页钢琴、架子鼓等敲击乐应用,让用户只需通过键盘或鼠标点击,就能创造出属于自己的旋律。这种技术不仅展现了前端开发的创造力,更凸显了 JavaScript 作为 \"用户体验导演\" 的核心价值 —— 将抽象的代码转化为直观可感的交互艺术。","https://oss.xyyzone.com/jishuzhan/article/1980830405264736257/0523bc527db06a525874177311904fa7.webp","1980830412436996098","有意义","https://p6-passport.byteacctimg.com/img/mosaic-legacy/3793/3114521287~300x300.image",[284],{"id":208,"name":209},1761101745000,{"id":287,"title":288,"description":289,"imgUrl":290,"views":244,"ownerId":291,"ownerName":292,"ownerHeadUrl":293,"tagList":294,"time":298},"1980813615038005250","前端HTML常用基础标","\u003Chead>1.\u003Ctitle>网页名称\u003C/title>2. \u003C!--style标签内设置样式 -->\u003Cstyle>","https://i-blog.csdnimg.cn/img_convert/8bc320ebd458ceb0981ea7a2f2ef9a11.png","1884272623437746178","皮皮虾我们跑","https://i-avatar.csdnimg.cn/7a0db5f6ecb640cabc554ea8c43d55f7_2302_80073130.jpg",[295,296,297],{"id":202,"name":203},{"id":205,"name":206},{"id":208,"name":209},1761097742000,{"id":300,"title":301,"description":302,"imgUrl":303,"views":304,"ownerId":305,"ownerName":306,"ownerHeadUrl":307,"tagList":308,"time":312},"1980806074988036097","前端7:综合案例--品优购项目(HTML+CSS)","参考哔哩哔哩网站pink老师所写,想看具体的视频链接如下:【黑马程序员pink老师前端入门教程,零基础必看的h5(html5)+css3+移动端前端视频教程】 https://www.bilibili.com/video/BV14J4114768/?p=302&share_source=copy_web&vd_source=5a2119cf8db1c9053f46c26f4cf3990b","https://i-blog.csdnimg.cn/direct/4786ea3becff48c28dd8df84752a4d11.png",3,"1941040776217145345","小张成长计划..","https://profile-avatar.csdnimg.cn/2a0e3a45decc4c32b8e29ea12e61b899_qq_62473190.jpg",[309,310,311],{"id":202,"name":203},{"id":223,"name":224},{"id":208,"name":209},1761095944000,{"id":314,"title":315,"description":316,"imgUrl":317,"views":244,"ownerId":318,"ownerName":319,"ownerHeadUrl":320,"tagList":321,"time":333},"1980795954262507522","HTML应用指南:利用POST请求获取中国一汽红旗门店位置信息","中国一汽红旗是以“新高尚精致主义”为品牌内核,深度融合东方美学、尖端电动化技术、智能网联与全场景出行服务的高端自主汽车品牌。始终秉持“中国式新高尚精致主义”的产品哲学,致力于通过红旗E-HS9、EH7、H9、HS7等旗舰车型,为用户打造兼具民族自信、科技温度与豪华质感的智慧出行体验。在中国市场,红旗持续推进“线上直连+线下沉浸”的新零售战略,自2022年起系统性构建以用户为中心的全域触点网络,目前已在北京、上海、广州、深圳、杭州、成都、武汉、西安、长春、沈阳、济南、南京等核心城市布局红旗体验中心(Hong","https://i-blog.csdnimg.cn/direct/7b41ec61d7724b139c502cef6d11638c.png","1813783352029745153","杨超越luckly","https://profile-avatar.csdnimg.cn/63e92b5bb2384842b32c1c07e46b8c0c_weixin_45812624.jpg",[322,323,326,327,330],{"id":202,"name":203},{"id":324,"name":325},172,"arcgis",{"id":208,"name":209},{"id":328,"name":329},2165,"数据可视化",{"id":331,"name":332},101907,"门店数据",1761093531000,{"id":335,"title":336,"description":337,"imgUrl":338,"views":304,"ownerId":339,"ownerName":340,"ownerHeadUrl":341,"tagList":342,"time":348},"1980682607080833026","Bootstrap 5 响应式网站首页模板","下面是一个使用 Bootstrap 5 创建的现代化响应式网站首页模板,包含导航栏、轮播图、功能卡片和页脚等常见部分。✨","https://i-blog.csdnimg.cn/direct/ecf23253327f4520ad684ebade07a8c2.png","1932410481393840129","速易达网络","https://profile-avatar.csdnimg.cn/ebb27b65e93a4224b52ba4aa051dc65e_suny8.jpg",[343,344,347],{"id":202,"name":203},{"id":345,"name":346},352,"bootstrap",{"id":208,"name":209},1761066507000,{"id":350,"title":351,"description":352,"content":353,"imgUrl":9,"views":354,"ownerId":355,"ownerName":356,"ownerHeadUrl":357,"tagList":358,"time":360,"articleSourceUrl":361,"preArticle":362,"nextArticle":367},"1725714485928267778","HTML基础-HTML标签、块、行、属性、规范","✊不积跬步,无以至千里;不积小流,无以成江海之前写过的笔记链接:[关于起源 常用标签1](📝 HTML入门笔记1 (yuque.com))","> ✊不积跬步,无以至千里;不积小流,无以成江海\n\n之前写过的笔记链接:\n\n\\[关于起源 常用标签1\\]([📝 HTML入门笔记1 (yuque.com)](https://link.juejin.cn?target=https%3A%2F%2Fwww.yuque.com%2Fliwenwang-kfcdf%2Fhqlasb%2Fqgfph2 \"https://www.yuque.com/liwenwang-kfcdf/hqlasb/qgfph2\"))\n\n\\[关于常用标签2 如table\\]([📝 HTML入门笔记2 - 常用标签 (yuque.com)](https://link.juejin.cn?target=https%3A%2F%2Fwww.yuque.com%2Fliwenwang-kfcdf%2Fhqlasb%2Fgimk1v \"https://www.yuque.com/liwenwang-kfcdf/hqlasb/gimk1v\"))\n\n# 常见标签、块与行、常见属性、HTML5标签、表单\n\n## HTML 中常见的标签\n\n下面是一些 HTML 中常见的标签及其简要说明:\n\n1. **`\u003Chtml>`** :HTML 文档的根元素,包含整个 HTML 文档的内容。\n2. **`\u003Chead>`** :HTML 文档的头部元素,用于包含文档的元数据,如标题、样式表和脚本等。\n3. **`\u003Ctitle>`** :定义 HTML 文档的标题,显示在浏览器的标题栏或标签页上。\n4. **`\u003Cbody>`** :HTML 文档的主体元素,包含了页面的可见内容。\n5. **`\u003Ch1>` to `\u003Ch6>`** :用于定义标题的标签,`\u003Ch1>` 表示最高级别的标题,`\u003Ch6>` 表示最低级别的标题。\n6. **`\u003Cp>`** :用于定义段落的标签,用来包裹一段文本。\n7. **`\u003Ca>`** :定义链接的标签,用于创建超链接到其他页面、文件或位置。\n8. **`\u003Cimg>`** :用于插入图像的标签,通过指定图像的路径来显示图像。\n9. **`\u003Cul>`** 和 **`\u003Col>`** :分别用于创建无序列表和有序列表,列表项使用 \\*\\*`\u003Cli>` \\*\\*标签包裹。\n10. **`\u003Cdiv>`** 和 **`\u003Cspan>`** :用于分组和包装其他 HTML 元素,用于样式化或操作组合的元素。\n11. **`\u003Ctable>`** 、**`\u003Ctr>`** 、**`\u003Cth>`** 和 **`\u003Ctd>`** :用于创建表格的标签,`\u003Ctable>` 定义表格,`\u003Ctr>` 定义行,`\u003Cth>` 定义表头单元格,`\u003Ctd>` 定义表格数据单元格。\n12. **`\u003Cform>`** 、**`\u003Cinput>`** 和 **`\u003Cbutton>`** :用于创建表单和接收用户输入的标签,`\u003Cform>` 定义表单,`\u003Cinput>` 定义输入字段,`\u003Cbutton>` 定义按钮。\n13. **`\u003Clabel>`** 和 **`\u003Ctextarea>`** :`\u003Clabel>` 用于为表单元素定义标签,`\u003Ctextarea>` 用于创建多行文本输入框。\n14. **`\u003Cheader>`** 、**`\u003Cnav>`** 和 **`\u003Cfooter>`** :用于定义页面的头部、导航和页脚区域。\n15. **`\u003Csection>`** 和 **`\u003Carticle>`** :用于定义文档的节和文章区域,用于更好地组织页面内容。\n\n## 块与行\n\n在 HTML 中,有两种主要的元素类型:块级元素和行内元素。它们在布局和渲染上有一些区别。\n\n**块级元素**(Block-level elements):\n\n* 块级元素通常会在新行上开始,并占据其父元素的整个可用宽度,从左到右水平填充。\n* 块级元素可以设置宽度、高度、内边距(padding)和外边距(margin)等样式属性。\n* 块级元素可以容纳其他块级元素和行内元素。\n\n常见的块级元素包括 `\u003Cdiv>`、`\u003Cp>`、`\u003Ch1>` 到 `\u003Ch6>`、`\u003Cul>`、`\u003Col>`、`\u003Cli>`、`\u003Ctable>`、`\u003Cform>` 等。它们的特点是可以独立成块,并占据一行或多行的空间。\n\n**行内元素**(Inline elements):\n\n* 行内元素通常不会在新行上开始,它们会尽可能地在同一行上显示,直到一行的空间不足以容纳它们,然后自动换行到下一行。\n* 行内元素的宽度和高度通常由其内容决定,无法直接设置。\n* 行内元素通常无法设置顶部和底部的外边距(margin),但可以设置左右外边距和内边距(padding)。\n\n常见的行内元素包括 `\u003Cspan>`、`\u003Ca>`、`\u003Cstrong>`、`\u003Cem>`、`\u003Cb>`、`\u003Ci>`、`\u003Cu>`、`\u003Cimg>`、`\u003Cinput>`、`\u003Clabel>` 等。它们的特点是在文本流中显示,并与周围的文本在同一行上。\n\n需要注意的是,HTML5 引入了一些新的元素和元素属性,例如 `\u003Cheader>`、`\u003Cnav>`、`\u003Carticle>`、`\u003Csection>` 等,它们的默认样式可能是块级或行内,但可以通过 CSS 来修改它们的显示属性。\n\n通过结合块级元素和行内元素的使用,可以实现更复杂和灵活的布局和设计,以满足不同的网页需求。\n\n### 块级元素和行内元素的区别\n\n1. **显示方式**:块级元素以块的形式显示,每个块级元素通常会另起一行,并占据其父元素的整个可用宽度。行内元素则以行的形式显示,尽可能在同一行上显示,直到一行的空间不足以容纳它们,然后自动换行到下一行。\n2. **尺寸**:块级元素可以设置宽度、高度、内边距(padding)和外边距(margin)等样式属性,可以独立控制它们的尺寸。行内元素的宽度和高度通常由其内容决定,无法直接设置。尽管一些行内元素可以设置水平方向的内边距和外边距,但无法设置顶部和底部的外边距。\n3. **元素之间的排列**:块级元素会在垂直方向上一个接一个地堆叠,每个块级元素占据独立的行空间。行内元素会在同一行上尽可能地显示,直到一行的空间不足以容纳它们,然后自动换行到下一行。\n4. **容纳内容**:块级元素可以容纳其他块级元素和行内元素,可以形成更大的块级结构。行内元素通常不能容纳块级元素,但可以包含其他行内元素。\n5. **默认样式** :块级元素的默认样式是 `display: block;`,行内元素的默认样式是 `display: inline;`。然而,HTML5 引入了一些新的元素和元素属性,它们的默认样式可能是块级或行内,但可以通过 CSS 来修改它们的显示属性。\n6. **语义化**:块级元素通常用于表示页面结构的主要部分,如段落、标题、列表、导航、页脚等。行内元素通常用于标记文本的不同部分或添加行内的强调、链接等。\n\n## 常见属性\n\nHTML 中的元素可以使用各种属性来提供附加的信息或控制元素的行为和样式。以下是一些常见的 HTML 属性:\n\n1. **`id`**:为元素定义唯一的标识符,通常用于在 CSS 和 JavaScript 中选择和操作元素。\n2. **`class`**:为元素定义一个或多个类名,用于选择和样式化一组元素。\n3. **`style`**:内联样式属性,用于为元素指定特定的样式,如颜色、字体大小、边框等。\n4. **`src`**:用于指定图像、音频、视频等媒体元素的源文件路径。\n5. **`href`**:用于指定链接元素的目标 URL,通常用于创建超链接。\n6. **`alt`**:用于为图像元素定义替代文本,当图像无法显示时,替代文本将被显示。\n7. **`width`** 和 **`height`**:用于指定图像、表格单元格或其他元素的宽度和高度。\n8. **`disabled`**:用于禁用表单元素或按钮,使其无法交互或点击。\n9. **`placeholder`**:用于在表单输入字段中提供提示性的占位符文本。\n10. **`required`**:用于指示表单输入字段是必填项,在提交表单时要求用户输入值。\n11. **`readonly`**:用于将表单输入字段设置为只读,用户无法编辑其中的内容。\n12. **`checked`**:用于选中复选框或单选按钮的默认选项。\n13. **`value`**:用于指定表单元素的默认值或用户输入的值。\n14. **`data-*`** :用于自定义数据属性,可以在元素中存储自定义数据,供 JavaScript 使用。\n\n## HTML5标签\n\nHTML5 引入了一些新的语义化标签,这些标签提供了更好的结构和含义,使开发人员能够更清晰地描述文档内容。以下是一些常见的 HTML5 标签:\n\n1. **`\u003Cheader>`** :表示文档或节的页眉部分,通常包含标题、导航和其他相关信息。\n2. **`\u003Cnav>`** :表示导航链接的容器,用于定义页面的主要导航。\n3. **`\u003Carticle>`** :表示独立的、完整的、可独立分发或可重复使用的内容块,如博客文章、新闻稿等。\n4. **`\u003Csection>`** :表示文档中的一个独立节或主题区域,可用于组织相关的内容。\n5. **`\u003Caside>`** :表示页面的侧边栏或附属内容,通常包含与主要内容相关但不是核心的信息。\n6. **`\u003Cmain>`** :表示文档的主要内容,每个文档应该只有一个 `\u003Cmain>` 元素。\n7. **`\u003Cfooter>`** :表示文档或节的页脚部分,通常包含版权信息、联系方式等。\n8. **`\u003Cfigure>`** 和 **`\u003Cfigcaption>`** :`\u003Cfigure>` 用于包含一组与主要文档流相关的图像、图表、照片等媒体,而 `\u003Cfigcaption>` 用于为这些媒体提供标题或说明。\n9. **`\u003Ctime>`** :用于表示日期、时间或时间范围,具有机器可读和人类可读的属性。\n10. **`\u003Cvideo>`** 和 **`\u003Caudio>`** :分别用于嵌入视频和音频内容,可以通过设置源文件路径和其他属性来控制媒体的播放。\n11. **`\u003Ccanvas>`** :用于通过 JavaScript 绘制图形、动画、图表等。\n12. **`\u003Cprogress>`** :表示任务的完成进度,例如文件上传进度、表单提交进度等。\n13. **`\u003Cform>`** 和 **`\u003Cinput>`** :`\u003Cform>` 用于创建表单,而 `\u003Cinput>` 用于定义输入字段。\n14. **`\u003Cdatalist>`** 和 **`\u003Coption>`** :`\u003Cdatalist>` 用于定义输入字段的选项列表,而 `\u003Coption>` 用于定义 `\u003Cdatalist>` 中的选项。\n\n## 表单\n\nHTML 表单是一种用于收集用户输入数据的机制,可以用来创建各种形式的交互,例如用户注册、搜索功能、提交评论等。以下是 HTML 表单的基本组成部分和相关元素:\n\n1. **`\u003Cform>` 元素** :用于创建表单,它包含了表单中的所有其他元素。`\u003Cform>` 元素具有 `action` 和 `method` 属性,用于定义表单提交的目标 URL 和请求方法。\n2. **`\u003Cinput>` 元素** :用于创建各种类型的输入字段,如文本输入、密码输入、单选按钮、复选框等。`\u003Cinput>` 元素具有多个不同的类型属性,例如 `type=\"text\"`、`type=\"password\"`、`type=\"radio\"` 等。\n3. **`\u003Ctextarea>` 元素**:用于创建多行文本输入字段,通常用于用户输入大段文本,如评论或消息。\n4. **`\u003Cselect>` 元素** 和 **`\u003Coption>` 元素** :`\u003Cselect>` 元素用于创建下拉选择框,而 `\u003Coption>` 元素用于定义下拉选项。用户可以从下拉列表中选择一个选项。\n5. **`\u003Cbutton>` 元素**:用于创建按钮,可以用作提交表单、重置表单或执行其他自定义操作。\n6. **`\u003Clabel>` 元素** :用于为表单元素创建标签,提供可点击的文本描述。`\u003Clabel>` 元素通常与相应的表单元素关联,通过 `for` 属性指定关联的表单元素的 `id` 值。\n7. **`\u003Cfieldset>` 元素** 和 **`\u003Clegend>` 元素** :`\u003Cfieldset>` 元素用于将表单元素分组,并可使用 `\u003Clegend>` 元素为分组创建标题。\n8. **`\u003Cinput type=\"submit\">`** 和 **`\u003Cinput type=\"reset\">`** :`\u003Cinput>` 元素的 `type` 属性可以设置为 `\"submit\"` 和 `\"reset\"`,用于创建提交按钮和重置按钮。\n9. **`\u003Cinput type=\"checkbox\">`** 和 **`\u003Cinput type=\"radio\">`** :`\u003Cinput>` 元素的 `type` 属性可以设置为 `\"checkbox\"` 和 `\"radio\"`,用于创建复选框和单选按钮。\n\n# HTML规范、命名经验、常规命名法和BEM命名法\n\n## HTML规范\n\nHTML 规范是由万维网联盟(W3C)制定和维护的一套标准,用于定义 HTML 的语法和行为,以确保在不同的浏览器和设备上一致地解释和呈现网页内容。以下是关于 HTML 规范的一些重要方面:\n\n1. **HTML5 规范**:HTML5 是最新的 HTML 规范版本,它引入了一些新的元素、属性和 API,提供更强大的语义化和功能。HTML5 规范于2014年推出,并持续更新和发展。\n2. **文档类型声明(DOCTYPE)** :HTML 规范要求在 HTML 文档的开头使用 DOCTYPE 声明来指定所使用的 HTML 版本。例如,`\u003C!DOCTYPE html>` 声明表示使用 HTML5。\n3. **语法规则**:HTML 规范定义了 HTML 的语法规则,包括标签的嵌套关系、属性的使用方式、元素的闭合等。遵循正确的语法是确保网页正确解析和渲染的关键。\n4. **语义化标签** :HTML 规范鼓励使用语义化标签来描述文档的结构和内容,例如 `\u003Cheader>`、`\u003Cnav>`、`\u003Carticle>` 等。这些标签提供了更准确的含义,有助于提高可访问性和搜索引擎优化。\n5. **属性和元素**:HTML 规范定义了各种属性和元素,用于控制元素的行为、样式和交互。规范中详细说明了每个属性和元素的可用取值、默认行为和浏览器支持情况。\n6. **表单和输入控件**:HTML 规范详细描述了如何创建表单和各种类型的输入控件,以便收集用户输入数据。\n7. **媒体元素** :HTML 规范提供了 `\u003Cimg>`、`\u003Cvideo>`、`\u003Caudio>` 等元素,用于嵌入图像、视频、音频等媒体内容。\n8. **脚本和样式**:HTML 规范定义了如何在 HTML 文档中嵌入 JavaScript 和 CSS 代码,以实现动态交互和样式化。\n9. **可访问性(Accessibility)** :HTML 规范关注可访问性,提供了一些属性和技术,用于使网页内容对残障用户更易访问。\n10. **浏览器兼容性**:HTML 规范努力确保在不同的浏览器和设备上一致地解释和呈现网页内容。然而,不同浏览器对规范的支持程度可能存在差异,开发人员需要注意浏览器兼容性问题,并使用适当的技术进行兼容性处理。\n\n## 命名经验\n\n在编写 HTML 代码时,使用良好的命名实践可以提高代码的可读性、可维护性和可扩展性。以下是一些HTML命名的经验:\n\n1. **语义化命名**:使用具有明确语义的名称来描述元素的用途和内容。选择能够准确描述元素的类名、ID和标签名,这有助于他人理解代码结构和意图。\n2. **简洁明了**:使用简短、清晰的名称,避免过长或复杂的命名。使用简洁的命名可以提高代码的可读性,使其更易于理解和维护。\n3. **一致性**:保持命名风格的一致性,遵循统一的命名约定。选择一种命名风格(如驼峰式命名、短横线分隔命名等)并坚持使用,以确保代码的一致性。\n4. **可读性**:选择易于阅读和理解的命名,使用有意义的单词或缩写。避免使用过于晦涩或难以理解的命名方式,以便其他开发人员能够轻松理解和维护代码。\n5. **避免保留字**:避免使用 HTML 或相关编程语言中的保留字作为命名,以防止出现冲突或意外行为。\n6. **可扩展性**:在命名中考虑到代码的可扩展性,选择能够适应未来变化和添加功能的命名。避免过于特定的命名,以便在需要扩展或修改代码时能够轻松进行调整。\n7. **语言规范**:根据所使用的编程语言和框架的命名规范,遵循相关的命名约定。例如,对于 CSS 类名,可以使用 BEM(块、元素、修饰符)命名规范。\n8. **可搜索性**:选择易于搜索和定位的命名,这有助于在代码库中进行查找和维护。使用一致的命名模式和约定,以便能够快速找到所需的元素或样式。\n\n## 常规命名法和BEM命名法\n\n### 常规命名法\n\n常规命名法是一种简单直接的命名方式,通常使用单词或简短的缩写来描述元素的用途或内容。以下是常规命名法的一些特点:\n\n1. **驼峰命名法** :使用首字母小写的单词,并将每个单词的首字母大写,形成一个单一的命名。例如,`headerSection`、`submitButton`。\n2. **短横线分隔命名法** :使用小写字母和短横线来分隔单词,描述元素的用途或内容。例如,`header-section`、`submit-button`。\n3. **下划线命名法** :使用小写字母和下划线来分隔单词,描述元素的用途或内容。例如,`header_section`、`submit_button`。\n\n常规命名法简单易懂,容易理解和记忆。它适用于小型项目或个人项目,不需要过多的命名约定和规范。\n\n### BEM命名法\n\nBEM(块、元素、修饰符)命名法是一种用于命名 CSS 类名的约定,它提供了一种更结构化和语义化的命名方式。以下是 BEM 命名法的一些特点:\n\n1. **块(Block)** :块是一个独立的、可重复使用的组件或模块,它代表一个完整的功能单元。块的类名使用单个单词或短横线分隔的单词,例如 `header`、`menu`。\n2. **元素(Element)** :元素是块的组成部分,它们只在特定块的上下文中有意义。元素的类名以块的类名作为前缀,使用双下划线连接,例如 `header__logo`、`menu__item`。\n3. **修饰符(Modifier)** :修饰符用于描述块或元素的状态、外观或行为变化。修饰符的类名以块或元素的类名作为前缀,使用单个单词或短横线分隔的单词,例如 `header--dark`、`menu__item--active`。\n\nBEM 命名法通过将类名分为块、元素和修饰符,提供了更清晰和可扩展的命名结构。它有助于减少样式冲突、提高代码可读性,并支持模块化和可重用性。\n",0,"1718197064883507201","李文旺","https://file.jishuzhan.net/user/1718197064883507201/head.webp",[359],{"id":208,"name":209},1700277370000,"https://juejin.cn/post/7302260568642600979",{"id":363,"title":364,"description":365,"imgUrl":9,"views":366},"1725714456584916994","qiankun源码分析-7.css沙箱","css沙箱隔离的是css样式,主要是为了防止样式污染,关于样式污染又有一下四种情况:qiankun的css沙箱对于每种不同的场景都有不同的处理方式,下面我们来看一下qiankun是如何处理的。",12,{"id":368,"title":369,"description":370,"imgUrl":371,"views":244},"1725714504479674370","深度优化数据库性能:Linux 内核参数调整解析","点击上方蓝字关注我数据库服务器性能的优化是每个IT团队关注的焦点之一。除了数据库引擎的优化之外,合理调整操作系统的内核参数也是提高数据库性能的关键。本文将解析一些常见的 Linux 内核参数,以及它们在数据库服务器优化中的作用和建议的值。","https://file.jishuzhan.net/article/1725714504479674370/c3409bab7c22b21515cfa803ad703335.webp",["Reactive",373],{"$sisPC2":374},false,["Set"],["ShallowReactive",377],{"PAjRY75aBgVnDKjWXqzRrfrkUgCGfPiXeKPCTBSM0ME":-1,"wDdEB1REj7eOVA0IINOW8By0h7e6k9_YCMGESItz9sY":-1,"glaIx14zzTwMHHGT3VRKOAAT2IWy941uSBVkEtcvnRA":-1,"pwF05uiDsD37-6cryNmWZWOQkrL7CXKJ0ctl_bWDjY4":-1,"XB2qELBTLB4fxuZ7UCdnLvUj1QBwq2b_mE3_XzZ7nUw":-1},true,"/article/1725714485928267778"]</script><script>window.__NUXT__={};window.__NUXT__.config={public:{env:"prod",apiRootUrl:"https://jishuzhan.net/api"},app:{baseURL:"/",buildId:"ab5c42e1-054a-430d-b75b-67d3003b8fad",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script></body></html>