当前位置: 首页 > news >正文

HTML零基础入门笔记:狂神版

 前言

本笔记是学习狂神的java教程,建议配合视频,学习体验更佳。

【狂神说Java】HTML5完整教学通俗易懂_哔哩哔哩_bilibili

第1-2章:Java零基础入门笔记:(1-2)入门(简介、基础知识)-CSDN博客

第3章:Java零基础入门笔记:(3)程序控制-CSDN博客

第4章:Java零基础入门笔记:(4)方法-CSDN博客

第5章:Java零基础入门笔记:(5)数组-CSDN博客 

第6章:Java零基础入门笔记:(6)面向对象-CSDN博客 

第7章:Java零基础入门笔记:(7)异常-CSDN博客 

多线程:Java零基础入门笔记:多线程_callable-CSDN博客 

-

-

初识HTML

简介

HTML,即超文本标记语言(HyperText Markup Language),是用于创建网页的标准标记语言。它通过一系列的标签和元素来定义网页的结构和内容,这些标签告诉浏览器如何显示页面上的文字、图片、链接、表格等内容。

HTML文档由一系列嵌套的元素组成,每个元素都有其特定的语义和功能。例如,<html>标签是文档的根元素,它包含了整个页面的内容;<head>部分用于定义文档的元数据,比如标题、字符集、链接外部资源等;而<body>部分则包含了用户可以看到的页面内容,如文本、图片、表单等。

HTML的一个重要特点是它的超文本特性,通过使用<a>标签,可以创建超链接,将一个网页连接到另一个网页,从而实现网页之间的跳转,这也是互联网能够实现信息互联的基础。此外,HTML还可以与CSS(层叠样式表)和JavaScript结合使用,CSS用于控制页面的外观和布局,JavaScript则用于实现页面的交互功能,三者共同协作,可以创建出功能丰富、视觉效果出色的动态网页。

随着互联网的发展,HTML也在不断更新和演进。HTML5是目前最新的标准,它引入了许多新的元素和功能,如语义化标签(如<header><footer><article>等),这些标签不仅有助于更好地组织页面内容,还能提高搜索引擎的优化效果。

-

html的基本结构

html文本的内容是由一系列标签组成的,标签分为两类:

  • 成对出现的开放标签和闭合标签,闭合标签是指那些有明确的开始标记和结束标记的标签。闭合标签通常用于包裹内容,定义内容的结构和语义。例如,<p>是段落的开始标记,</p>是段落的结束标记,它们之间可以包含文本或其他HTML元素。闭合标签的结构是<标签名>内容</标签名>
  • 单独出现的自闭合标签,自闭合标签是指那些没有内容,且不需要结束标记的标签。自闭合标签通常用于插入一些独立的元素,如图片、换行符、输入框等。自闭合标签的结构是<标签名/>,如<meta xxxx>

-

html基本内容

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body></body>
</html>

注释

<!-- -->

对应的快捷键:ctrl + / 

-

DOCTYPE声明

它的作用是告诉浏览器(或其他文档解析器)当前文档使用的是哪种HTML或XHTML标准规范,从而让浏览器能够按照正确的模式来解析和渲染页面,如上面的例子是使用html规范:

<!DOCTYPE html>

head标签表示网页头部

meta标签是描述性标签,用来描述网站的一些信息

<meta charset="UTF-8">
<meta name="SherlockMa" content="博主">
<meta name="description" content="这是一个AI领域的博主">

-

title表示网页标题

<title>Title</title>

​ 

  • <body:这是文档的主体部分,包含了用户可以看到的内容。

-

-

网页的基本标签

标题标签

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>基本标签</title>
</head>
<body><!--标题标签-->
<h1>一级标签</h1>
<h2>二级标签</h2>
<h3>三级标签</h3>
<h4>四级标签</h4>
<h5>五级标签</h5>
<h6>六级标签</h6></body>
</html>

-

段落标签

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>基本标签</title>
</head>
<body><!--段落标签-->
<p>两只老虎跑得快</p>
<p>跑得快 跑得快</p></body>
</html>

-

换行标签

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>基本标签</title>
</head>
<body><!--换行标签-->
两只老虎跑得快<br>
跑得快 跑得快</body>
</html>

 

注意区分换行标签和段落标签内容显示的不同,换行标签要窄一些。

-

水平线标签

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>基本标签</title>
</head>
<body><!--水平线标签-->
两只老虎跑得快
<hr>
跑得快 跑得快</body>
</html>

-

粗体与斜体

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>基本标签</title>
</head>
<body><!--粗体与斜体-->
<strong>I love you</strong><br>
<em>I love you</em></body>
</html>

-

特殊符号

<!--特殊符号-->
多个空格:&nbsp;
大于号:&gt;
小于号:&lt;
版权符号:&copy;

 -

-

图像标签

<img> 标签的属性

  • src 属性作用:指定图片的路径。可以是相对路径(如 ./resource/img/报纸.jpg)或绝对路径(如 https://example.com/image.jpg)。

  • alt 属性作用:为图片提供替代文本。当图片无法显示时(例如图片路径错误或用户使用屏幕阅读器),浏览器会显示 alt 属性的值。

  • title 属性作用:为图片添加提示文本。当用户将鼠标悬停在图片上时,浏览器会显示 title 属性的值。

  • widthheight 属性作用:指定图片的宽度和高度。单位是像素。

​ 下面的代码演示了在 <body> 中,使用了 <img> 标签来插入一张图片。<img> 是一个自闭合标签,用于在HTML文档中嵌入图片。

  • 如果图片无法加载,浏览器会显示“未知图片”。

  • 当用户将鼠标悬停在图片上时,会显示“悬停文字”。

  • 图片的宽度和高度都会被设置为300像素。

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body><img src="./resource/img/报纸.jpg" alt="未知图片" title="悬停文字" width="300" height="300"></body>
</html>

 -

-

链接标签

页面间标签

<a> 标签

  • <a> 标签是一个行内元素,用于将页面的一部分链接到另一个页面或资源。
  • href 属性作用:指定链接的目标URL。

  • title 属性作用(可选):为链接提供提示文本。当用户将鼠标悬停在链接上时,浏览器会显示 title 属性的值。

  • target 属性:主要作用是控制链接或表单提交后内容的显示位置,例如在当前窗口打开、在新窗口打开或在特定的框架中打开。

    • _self作用:在当前窗口或标签页中打开链接。

    • _blank作用:在新窗口或新标签页中打开链接。

-

这段HTML代码展示了如何使用 <a> 标签来创建超链接,以及如何将超链接嵌套到图片中。

  • 页面中会显示两个超链接:第一个链接显示为“基本标签”,点击后会跳转到本地文件 基本标签.html。第二个链接显示为“百度一下”,点击后会跳转到百度的官方网站。

  • 页面中还会显示一个图片链接

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>链接标签学习</title>
</head>
<body><!--链接标签-->
<a href="基本标签.html">基本标签</a>
<a href="https://www.baidu.com">百度一下</a><!--嵌套到图片里-->
<a href="图像标签.html"><img src="./resource/img/报纸.jpg" alt="未知图片" title="悬停文字" width="300" height="300"></a></body>
</html>

-

锚标签

通过锚链接我们可以实现页面内的跳转,比如我们想选定目录树中某个章节时,可以通过点击目录树中章节对应的位置直接跳转到对应内容,也可以应用在网页中返回顶部这个功能。

-

锚链接意思是预先设置好一个锚点,即本页面中要跳转过来的地方,再后面要跳转时直接通过a标签即可。

1.定义锚点

  • 使用 <a> 标签的 id 属性定义一个锚点。id 的值是锚点的名称,必须是唯一的。

  • <a id="top">顶部</a>

2.创建链接到锚点的超链接

  • 使用 <a> 标签的 href 属性创建一个链接,其值以 # 开头,后面跟着锚点的名称。这里创建了一个链接,当用户点击该链接时,页面会滚动到名为 top 的锚点位置。

  • <a href="#top">点击回到顶部</a>

这段HTML代码展示了一个非常实用的功能:使用锚点链接(anchor link)来实现页面内的快速导航。通过这种方式,用户可以点击链接直接跳转到页面的特定部分。 

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>链接标签学习</title>
</head>
<body>
<a id="top">顶部</a>......<a href="#top">点击回到顶部</a></body>
</html>

当你将这段代码保存为一个HTML文件并用浏览器打开时,你会看到以下内容:

  • 页面顶部有一个文本“顶部”,它是通过 <a id="top">顶部</a> 定义的锚点。

  • 页面底部有一个超链接“点击回到顶部”,点击该链接后,页面会滚动到顶部的锚点位置。

-

功能性链接

所谓功能性链接,就是指一些特定或者常用的超链接,比如邮件链接、QQ链接或者BILI链接等,用于站内分享链接等,这里介绍邮件链接和qq链接。

<a href="mailto: 645620621@qq.com">点击邮箱联系我</a>

-

块内元素和行内元素

块内元素和行内元素是一元素的一种组织布局方式。

块内元素

块级元素通常会在页面中独占一行,它会从新的一行开始,并且它的宽度默认会占据父元素的全部宽度。常见的块级元素有<div><p><h1><h6>等。例如<div>元素,它经常被用来创建一个块级的容器,可以用来包含其他元素,通过设置它的宽度、高度、边距等属性,可以实现复杂的页面布局。而<p>元素则用来表示段落,每个段落都会独占一行,段落之间的间距可以通过设置行高或者边距来调整。块级元素的这种特性使得它们非常适合用来构建页面的结构框架,通过嵌套不同的块级元素,可以将页面划分为不同的区域,比如头部、主体内容、侧边栏和底部等。

行内元素

行内元素则不会独占一行,它会在页面中按照文档流的方向依次排列,并且它的宽度通常是由其内容决定的。常见的行内元素有<span><a><strong><em>等。<span>元素是一个通用的行内容器,它可以用来对文本或者其他元素进行局部的样式设置,比如给一段文本添加颜色、字体大小等样式,而不会影响到它周围的元素的布局。<a>元素是一个超链接元素,它可以将一段文本或者图片等设置为链接,用户点击后可以跳转到指定的页面或者资源,它在页面中也是按照文档流的方向排列,不会独占一行。行内元素的这种特性使得它们非常适合用来对文本或者页面中的局部内容进行修饰和操作,比如强调文本、创建链接、插入图片等。

-

-

列表

列表标签对应的内容是一条一条的形式呈现的,分为:

  • 有序列表
  • 无序列表
  • 自定义列表

-

有序列表(ol)

<ol> 和 <li> 标签

  • <ol> 标签:定义一个有序列表。列表项会自动编号,编号从1开始,依次递增。

  • <li> 标签:定义列表中的一个项目。每个 <li> 标签都会生成一个列表项,并自动编号。

-

这段HTML代码展示了一个有序列表(Ordered List)的创建方法。有序列表是一种带有编号的列表,通常用于表示有顺序或优先级的项目。

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body><!--有序列表-->
<ol><li>元素1</li><li>元素2</li><li>元素3</li>...
</ol></body>
</html>

无序列表(ul) 

<ul> 和 <li> 标签

  • <ul> 标签:定义一个无序列表。列表项会显示为带有项目符号的列表项。

  • <li> 标签:定义列表中的一个项目。每个 <li> 标签都会生成一个列表项,并显示为带有项目符号的格式。

-

这段HTML代码展示了一个无序列表(Unordered List)的创建方法。无序列表是一种没有编号的列表,通常用于表示没有特定顺序的项目,例如购物清单、兴趣爱好等。

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body><!--无序列表-->
<ul><li>元素1</li><li>元素2</li><li>元素3</li>...
</ul></body>
</html>

 -

自定义列表(dl)

<dl><dt> 和 <dd> 标签

  • <dl> 标签:定义一个描述列表。将术语和定义组合在一起,形成一个有层次的列表。

  • <dt> 标签:定义术语(Description Term)。术语通常以加粗的形式显示。

  • <dd> 标签:定义术语的描述(Description Definition)。描述通常会缩进显示,以区分术语。

-

这段HTML代码展示了一个自定义列表(Description List)的创建方法。自定义列表是一种用于描述术语及其定义的列表,非常适合用于术语表、词汇表或任何需要解释说明的场景。

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body><!--自定义列表-->
<dl><dt>自定义列表1</dt><dd>自定义列表1的元素1</dd><dd>自定义列表1的元素2</dd><dd>自定义列表1的元素3</dd><dt>自定义列表2</dt><dd>自定义列表2的元素1</dd><dd>自定义列表2的元素2</dd><dd>自定义列表2的元素3</dd>
</dl></body>
</html>

-

-

表格

  • <table> 标签:定义一个表格。表格会按照HTML代码中的结构显示为一个表格。

  • <tr> 标签:定义表格的一行(Table Row)。每行包含多个单元格。

  • <td> 标签:定义表格的一个单元格(Table Data)。单元格可以包含文本、图片或其他HTML元素。

  • border 属性:定义表格的边框。

-

这段HTML代码展示了一个基本的表格(<table>)的创建方法。表格是一种用于显示数据的结构化方式,通常由行(<tr>)和单元格(<td>)组成。

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body><table><tr><td>1-1</td><td>1-2</td><td>1-3</td></tr><tr><td>2-1</td><td>2-2</td><td>2-3</td></tr><tr><td>3-1</td><td>3-2</td><td>3-3</td></tr>
</table></body>
</html>

跨行跨列

  • colspan 属性:定义单元格跨越的列数。
  • rowspan 属性:定义单元格跨越的行数。

-

这段HTML代码展示了一个表格,其中使用了 colspanrowspan 属性来合并单元格。这些属性在创建复杂的表格布局时非常有用。

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body><table border="1px"><tr><!--colspan 跨列    --><td colspan="3">1</td></tr><tr><td rowspan="2">2-1</td><td>2-2</td><td>2-3</td></tr><tr><td>3-2</td><td>3-3</td></tr>
</table></body>
</html>

-

视频与音频

<video> 标签

  • <video> 标签是HTML5中引入的一个标签,用于在网页中嵌入视频文件。它支持多种视频格式,如MP4、WebM和OGG等。
  • src 属性:指定视频文件的路径。可以是相对路径或绝对路径。

  • controls 属性:添加视频播放控件,如播放/暂停按钮、音量控制、进度条等。

  • autoplay 属性:设置视频在页面加载完成后自动播放。

  • heightwidth 属性:指定视频的显示高度和宽度。

<video src="资源的相对路径" controls autoplay height="300" width="300"></video>

-

<audio> 标签

  • <video> 标签是HTML5中引入的一个标签,用于在网页中嵌入视频文件。它支持多种视频格式,如MP4、WebM和OGG等。
  • src 属性:指定视频文件的路径。可以是相对路径或绝对路径。

  • controls 属性:添加视频播放控件,如播放/暂停按钮、音量控制、进度条等。

  • autoplay 属性:设置视频在页面加载完成后自动播放。

  • heightwidth 属性:指定视频的显示高度和宽度。

<audio src="资源的相对路径" controls autoplay height="300" width="300"></audio>

-

-

页面结构分析

  • <header> 标签:定义网页的头部区域,通常包含网站的标志、导航菜单等。

  • <section> 标签:定义网页的一个独立部分,通常用于包含一组相关内容。

  • <footer> 标签:定义网页的脚部区域,通常包含版权信息、联系方式、导航链接等。

-

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body><header>网页头部</header><section>网页主体</section><footer>网页脚部</footer></body>
</html>

-

-

iframe内联框架

<iframe> 是“Inline Frame”的缩写,表示内联框架,可以在当前网页中嵌入另一个网页。

  • src 属性:指定嵌入网页的URL。
  • frameborder 属性:控制内联框架的边框是否显示。
    • 可选值0表示不显示边框(默认值)。1表示显示边框。

  • widthheight 属性:指定内联框架的宽度和高度。

这段HTML代码展示了一个内联框架(<iframe>)的使用方法。内联框架是一种可以在当前网页中嵌入另一个网页的技术。 

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body><!--内联框架-->
<iframe src="https://www.baidu.com" frameborder="0" width="1000px" height="800px"></iframe></body>
</html>

-

这段HTML代码展示了一个内联框架(<iframe>)和一个超链接(<a>)的结合使用方法。通过这种方式,可以实现点击链接后在指定的内联框架中加载内容。

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body><!--内联框架-->
<iframe src="" name="hello" frameborder="0" width="1000px" height="800px"></iframe>
<a href="https://www.baidu.com" target="hello">点击跳转</a></body>
</html>

当你将这段代码保存为一个HTML文件并用浏览器打开时,你会看到以下内容:

  • 页面中会显示一个内联框架,大小为1000x800像素,初始时不加载任何内容。

  • 页面中会显示一个超链接“点击跳转”。

  • 点击“点击跳转”链接后,百度的主页(https://www.baidu.com)将在内联框架中加载。

-

-

表单

post提交和get提交(form)

<form> 标签的属性

  • action 属性:指定表单提交的目标URL。

  • method 属性:指定表单提交时使用的HTTP方法。

    • 可选值get:通过URL参数提交数据(默认值);post:通过HTTP请求体提交数据。

-

文本输入框

  • type="text":定义一个单行文本输入框,用户可以在其中输入文本。

  • name="username":定义输入框的名称,用于在表单提交时标识该输入框的数据。

<p>名字:<input type="text" name="username"></p>

-

密码输入框

  • type="password":定义一个密码输入框,用户输入的内容将以隐藏字符显示(通常是圆点或星号)。

  • name="password":定义输入框的名称,用于在表单提交时标识该输入框的数据。

<p>密码:<input type="password" name="password"></p>

-

提交按钮

  • type="submit":定义一个提交按钮,用户点击后将触发表单提交。

<input type="submit">

-

重置按钮

  • type="reset":定义一个重置按钮,用户点击后将清除表单中的所有输入内容。

<input type="reset">

这段HTML代码展示了一个简单的表单(<form>)的创建方法,用于用户注册。表单包含文本输入框、密码输入框、提交按钮和重置按钮。 

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body><h1>注册</h1>
<!--表单-->
<form action="基本标签.html" method="get"></form><!--文本输入框:input type="text"--><p>名字:<input type="text" name="username"></p><!--密码输入框:input type="password"--><p>名字:<input type="password" name="password"></p><p><!--提交框--><input type="submit"><!--重置框--><input type="reset"></p>
</body>
</html>

-

post和get的区别

  • get:我们可以在url中看到我们提交的信息,比如用户名和密码,不安全;
  • post:适合传输大文件,在url中看不到我们提交的信息,但是在审查元素里的header信息里还是可以看到;

-

表单属性

-

单选框

<input type="radio"> 

  • 使用 <input type="radio"> 标签来创建单选按钮。单选按钮允许用户从一组选项中选择一个选项。
  • type="radio":定义一个单选按钮。

  • value 属性:定义单选按钮的值,当表单提交时,该值将被发送到服务器。

  • name 属性:定义单选按钮的名称,同一组单选按钮必须使用相同的 name 值,以便它们被视为一组。

-

这段HTML代码展示了一个单选按钮(<input type="radio">)的使用方法。单选按钮通常用于表单中,允许用户从一组选项中选择一个选项。

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body><p><input type="radio" value="men" name="sex"/>男<input type="radio" value="women" name="sex"/>女</p></body>
</html>

当你将这段代码保存为一个HTML文件并用浏览器打开时,你会看到以下内容:

  • 页面中会显示两个单选按钮,分别标记为“男”和“女”。

  • 用户只能选择其中一个选项。

-

多选框

<input type="checkbox">

  • 使用了 <input type="checkbox"> 标签来创建复选框。复选框允许用户从一组选项中选择多个选项。
  • type="checkbox":定义一个复选框。

  • value 属性:定义复选框的值,当表单提交时,该值将被发送到服务器。

  • name 属性:定义复选框的名称,同一组复选框可以使用相同的 name 值,以便它们被视为一组。

-

这段HTML代码展示了一个表单中使用复选框(<input type="checkbox">)的方法。复选框允许用户从一组选项中选择多个选项。

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body><!--表单--><p>兴趣<input type="checkbox" value="coding" name="hobby">编程<input type="checkbox" value="LOL" name="hobby">LOL<input type="checkbox" value="eating" name="hobby">吃饭<input type="checkbox" value="sleeping" name="hobby">睡觉</p></body>
</html>

当你将这段代码保存为一个HTML文件并用浏览器打开时,你会看到以下内容:

  • 表单中包含一组复选框,分别标记为“编程”、“LOL”、“吃饭”和“睡觉”。

  • 用户可以选择多个选项。

-

按钮

<input type="button">

  • 普通按钮 (input type="button"):普通按钮是一个没有默认行为的按钮,通常用于触发JavaScript事件

  • 图片按钮 (input type="image"):图片按钮是一个以图片形式显示的按钮,点击后可以提交表单。

  • 提交按钮 (input type="submit"):提交按钮用于触发表单的提交行为,将表单数据发送到服务器。

  • 重置按钮 (input type="reset"):重置按钮用于清除表单中的所有输入内容,恢复表单到初始状态。

这段HTML代码展示了一个表单中使用按钮(<input type="button">)的方法。按钮是一种常见的表单控件,用于触发JavaScript事件或执行某些操作。

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body><!--表单--><p>按钮<input type="button" value="这是个按钮"></p></body>
</html>

当你将这段代码保存为一个HTML文件并用浏览器打开时,你会看到以下内容:

  • 页面中会显示一个标题“注册”。

  • 表单中包含一个按钮,按钮上显示文本“这是个按钮”。

 

 -

下拉框

<select> 标签

  • 作用:定义一个下拉选择框。

  • name 属性:定义选择框的名称,用于在表单提交时标识该选择框的数据。

<option> 标签

  • 作用:定义下拉选择框中的一个选项。

  • value 属性:定义选项的值,当表单提交时,该值将被发送到服务器。

  • selected 属性:指定某个选项默认被选中。

-

这段HTML代码展示了一个表单中使用下拉选择框(<select>)的方法。下拉选择框允许用户从一组选项中选择一个选项。

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body><!--表单--><p>国籍<select name="列表名称"><option value="china">中国</option><option value="usa" selected>美国</option><option value="uk">英国</option><option value="france">法国</option></select>
</p></body>
</html>

 当你将这段代码保存为一个HTML文件并用浏览器打开时,你会看到以下内容:

  • 页面中会显示一个标题“注册”。

  • 表单中包含一个下拉选择框,标记为“国籍”。

  • 下拉选择框中有四个选项:“中国”、“美国”、“英国”和“法国”。

  • 默认选中“美国”这个选项。

文本域

<textarea> 元素用于创建多行文本输入框,用户可以在其中输入较长的文本内容,例如评论、反馈或描述等。

  • name 属性:定义文本输入框的名称,用于在表单提交时标识该输入框的数据。
  • cols 属性:定义文本输入框的可见宽度(以字符数为单位)。
  • rows 属性:定义文本输入框的可见高度(以行数为单位)。

-

这段HTML代码展示了一个表单中使用多行文本输入框(<textarea>)的方法。

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body><!--表单--><p>用户反馈<textarea name="feedback" cols="50" rows="10"></textarea>
</p></body>
</html>

当你将这段代码保存为一个HTML文件并用浏览器打开时,你会看到以下内容:

  • 表单中包含一个标签“用户反馈”,旁边是一个多行文本输入框。

  • 文本输入框的宽度可以显示50个字符,高度可以显示10行。

 -

文件域(file)

选择本地文件上传。

<input type="file"> 的属性

  • type="file":定义一个文件上传控件。

  • name 属性:定义文件上传控件的名称,用于在表单提交时标识该控件的数据。

-

这段HTML代码展示了一个表单中使用文件上传控件(<input type="file">)和按钮(<input type="button">)的方法。文件上传控件允许用户选择文件并上传到服务器,而按钮可以用于触发JavaScript事件或执行某些操作。

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body><!--表单--><p><input type="file" name="files"><input type="button" value="上传" name="upload">
</p></body>
</html>

当你将这段代码保存为一个HTML文件并用浏览器打开时,你会看到以下内容:

  • 表单中包含一个文件上传控件和一个按钮。

  • 文件上传控件允许用户选择文件。

  • 按钮上显示文本“上传”。

-

简单验证

就是对input输入框里输入的信息做简单验证,比如检查是否是email格式、url格式,是否是数字格式等,注意这里的验证并不严格,需要在CSS里做更严格的验证。

type="email"

  • 作用:定义一个用于输入电子邮件地址的输入框。

  • 验证:浏览器会自动验证输入的内容是否符合电子邮件地址的格式(例如 user@example.com)。

type="url"

  • 作用:定义一个用于输入URL的输入框。

  • 验证:浏览器会自动验证输入的内容是否符合URL的格式(例如 http://example.com)。

type="number"

  • 作用:定义一个用于输入数字的输入框。

  • 验证:浏览器会自动验证输入的内容是否为数字。

-

这段HTML代码展示了一个表单中使用HTML5的输入类型(<input>)进行简单验证的方法。HTML5引入了许多新的输入类型,这些类型可以自动验证用户输入的内容,确保输入的数据符合预期格式。

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body><!--表单--><!--简单验证-->
<p>邮箱:<input type="email" name="email">
</p>
<p>URL:<input type="url" name="url">
</p>
<p>数字:<input type="number" name="number">
</p></body>
</html>

当你将这段代码保存为一个HTML文件并用浏览器打开时,你会看到以下内容:

  • 表单中包含三个输入框:

    • 一个用于输入电子邮件地址的输入框。

    • 一个用于输入URL的输入框。

    • 一个用于输入数字的输入框。

number的其他属性

<input type="number"> 的属性

  • type="number":定义一个数字输入框,用户只能输入数字。

  • name 属性:定义输入框的名称,用于在表单提交时标识该输入框的数据。

  • max 属性:指定输入框中允许的最大值。

  • min 属性:指定输入框中允许的最小值。

  • step 属性:指定输入框中允许的步长(增量或减量)。

-

这段HTML代码展示了一个带有输入限制的数字输入框(<input type="number">)。通过使用 maxminstep 属性,可以对用户输入的数字进行限制,确保输入的数字在指定范围内,并且符合指定的步长。 

<!--最大100,最小0,间隔10-->
<p>数字:<input type="number" name="number" max="100" min="0" step="10">
</p>

当你将这段代码嵌入到HTML文件中并用浏览器打开时,你会看到以下内容:

  • 页面中会显示一个标签“数字”,旁边是一个数字输入框。

  • 用户只能输入0到100之间的数字,并且输入的数字必须是10的倍数。

 

-

滑块

<input type="range"> 的属性

  • type="range":定义一个滑块控件。

  • min 属性:指定滑块的最小值。

  • max 属性:指定滑块的最大值。

  • step 属性:指定滑块的步长(增量或减量)。

  • name 属性:定义滑块控件的名称,用于在表单提交时标识该控件的数据。

这段HTML代码展示了一个滑块控件(<input type="range">)的使用方法。滑块控件是一种用于选择数值范围的输入控件,用户可以通过拖动滑块来选择一个值。

<!--滑块-->
<p>音量滑块<input type="range" min="0" max="100" name="voice" step="2">
</p>

当你将这段代码嵌入到HTML文件中并用浏览器打开时,你会看到以下内容:

  • 页面中会显示一个标签“音量滑块”,旁边是一个滑块控件。

  • 用户可以通过拖动滑块来选择一个值,值的范围是0到100,并且值必须是2的倍数。

-

搜索框(search)

就是类似网站里的站内搜索功能。

<!--搜索框-->
<p>站内搜索<input type="search" name="search">
</p>

-

其他属性

disable:禁用表单控件,使其不可用且不可提交。

<input type="text" name="username" disabled>
<button type="submit" disabled>提交</button>

hidden:隐藏表单控件,使其在页面上不可见,但仍然可以提交。

<input type="text" name="username" hidden>
<div hidden>这是一个隐藏的元素</div>

readonly:使表单控件只读,用户可以查看但不能修改内容。

<input type="text" name="username" value="只读内容" readonly>
<textarea name="description" readonly>这是一个只读的文本区域</textarea>

-

这段HTML代码展示了一个文本输入框(<input type="text">)和一个与之关联的标签(<label>)。通过使用 <label> 标签的 for 属性,可以增强表单的用户体验和可访问性。

<p><label for="mark">点击我</label><input type="text" id="mark"></input>
</p>

当你将这段代码嵌入到HTML文件中并用浏览器打开时,你会看到以下内容:

  • 页面中会显示一个标签“点击我”,旁边是一个文本输入框。

  • 当用户点击“点击我”标签时,文本输入框会自动获得焦点,用户可以直接在其中输入文本。

-

表单初级验证

placeholder:在表单控件中显示提示信息,当用户开始输入时,提示信息会消失。

<input type="text" name="username" placeholder="请输入用户名">
<textarea name="description" placeholder="请输入描述"></textarea>

required:指定表单控件为必填项,用户必须填写内容才能提交表单。

<input type="text" name="username" required>
<textarea name="description" required></textarea>
<select name="country" required><option value="">请选择国家</option><option value="china">中国</option><option value="usa">美国</option>
</select>

pattern:使用正则表达式对输入内容进行验证,确保用户输入的内容符合特定格式。

<input type="text" name="username" pattern="[A-Za-z0-9_]{5,15}" title="用户名必须是5到15个字符,只能包含字母、数字和下划线">
<input type="email" name="email" pattern="[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}" title="请输入有效的电子邮件地址">

-

-


HTML(超文本标记语言)是构建和组织网页内容的基础语言,其重要性体现在多个方面。首先,HTML是网页的骨架,它通过一系列的标签和元素定义了网页的结构和内容,从简单的文本到复杂的布局,HTML都能以清晰的结构呈现出来。这种结构化的标记方式不仅便于开发者构建网页,也使得搜索引擎能够更好地理解和索引网页内容,从而提升网页在搜索结果中的排名,这对于网站的可见性和推广至关重要。

其次,HTML的语义化标签(如<header><footer><article>等)进一步增强了网页的可读性和可访问性。语义化标签不仅让代码更易于理解,还为屏幕阅读器等辅助设备提供了更准确的内容描述,使得残障人士也能无障碍地访问网页内容。此外,HTML的表单功能允许用户与网页进行交互,例如填写信息、上传文件等,这对于实现用户注册、评论、搜索等功能不可或缺。

HTML还支持多媒体内容的嵌入,如图片、视频和音频,丰富了网页的表现形式,提升了用户体验。同时,HTML与CSS(层叠样式表)和JavaScript的结合使用,能够实现更加动态和交互式的网页效果。CSS负责网页的视觉样式,而JavaScript则可以处理用户事件和动态内容更新,三者的协同工作使得现代网页能够提供丰富多样的功能和流畅的用户体验。

随着HTML5的推出,HTML的功能得到了进一步扩展,新增了许多特性,如语义化标签、多媒体支持、表单验证等,这些特性使得HTML能够更好地适应现代网页开发的需求。HTML5的引入不仅简化了网页开发的复杂性,还提高了网页的性能和兼容性,使得网页能够在各种设备和浏览器上保持一致的显示效果。

总之,HTML作为网页开发的核心语言,其重要性不言而喻。它不仅是构建网页的基础,也是实现网页功能、提升用户体验和促进网络信息传播的关键工具。无论是个人博客、企业网站还是复杂的在线应用,HTML都是不可或缺的一部分。

-

🌟 如果你喜欢这篇文章/视频/内容,别忘了点赞哦!
💖 点赞是对作者最大的支持,也是我们继续创作的动力!

🔖 觉得有用?一键收藏,方便下次查看!
🔍 收藏起来,随时回顾精彩内容,不迷路!

🔔 关注我,获取更多精彩内容和最新动态!
🚀 关注不迷路,持续为你带来有价值的信息和有趣的故事!

相关文章:

HTML零基础入门笔记:狂神版

前言 本笔记是学习狂神的java教程&#xff0c;建议配合视频&#xff0c;学习体验更佳。 【狂神说Java】HTML5完整教学通俗易懂_哔哩哔哩_bilibili 第1-2章&#xff1a;Java零基础入门笔记&#xff1a;(1-2)入门&#xff08;简介、基础知识&#xff09;-CSDN博客 第3章&…...

算法竞赛备赛——【图论】链式前向星

图论 图的存储方式&#xff1a; 通用的三种&#xff1a;邻接矩阵、邻接表、边集数组 有向图&#xff1a;十字链表 无向图&#xff1a;多重邻接表 刷题常用&#xff1a;邻接矩阵、链式前向星&#xff08;邻接表变形&#xff09; 链式前向星 算法题常用: 邻接矩阵、二维vector模…...

JAVA_类和对象

目录 1.面向对象的初步认知 1.1.什么是面向对象 1.2.面向对象与面向过程 2.类的定义和使用 2.1.简单认识类 2.2类的定义格式 2.3.练习 学生类 动物类&#xff08;可爱猫猫&#x1f431;&#xff09; 3.类的实例化 3.1.什么是实例化 3.2.类和对象的说明 4.this引用…...

高频面试题(含笔试高频算法整理)基本总结回顾65

干货分享&#xff0c;感谢您的阅读&#xff01; &#xff08;暂存篇---后续会删除&#xff0c;完整版和持续更新见高频面试题基本总结回顾&#xff08;含笔试高频算法整理&#xff09;&#xff09; 备注&#xff1a;引用请标注出处&#xff0c;同时存在的问题请在相关博客留言…...

数据库系统-数据库控制

并发控制 事务的ACID特性&#xff1a; 原子性&#xff08;Atomicity&#xff09;&#xff1a;事务包含的所有操作要么全部成功&#xff08;commit提交&#xff09;&#xff0c;要么全部失败&#xff08;rollback回滚&#xff09;一致性&#xff08;Consistency&#xff09;&a…...

Python Cookbook-5.3 根据对象的属性将对象列表排序

任务 需要根据各个对象的某个属性来完成对整个对象列表的排序。 解决方案 DSU方法仍然一如既往地有效: def sort_by_attr(sed,attr):intermed [ (getattr(x,attr),i,x) for i,x in enumerate(seg)]intermed.sort()return [ x[-1] for x in intermed def sort_by_attr_inpl…...

Java MCP SDK 开发笔记(一)

MCP 简介 AI 大模型诞生之初&#xff0c;其高度模拟人的对话之能力惊为天人。但我们肯定不希望止步于此—— 工具化就是我们希望 AI 能够完成的目标&#xff0c;由此可以从单纯的对话发展为代替繁复人力的“干活”。这条道路上毋庸置疑 AI 大模型任重道远。而 MCP(Model Contr…...

AF3 OpenFoldDataLoader类_prep_batch_properties_probs方法解读

AlphaFold3 data_modules 模块的 OpenFoldDataLoader 类的 _prep_batch_properties_probs 方法是为每个批次数据准备 recycling 维度 的概率分布。它将根据配置文件中的设定为每个批次数据生成 recycling 轮次的概率分布,并存储到 prop_probs_tensor 中,用于后续抽样选择特定…...

寻找字符串数组中的最长共同前缀字符串

问题描述&#xff1a;给定一个字符串数组 strs&#xff0c;编写一个函数来找到这些字符串的最长公共前缀字符串&#xff0c;如果没有则返回空字符串"" 算法思路 横向扫描法&#xff1a; 从数组的第一个字符串开始&#xff0c;逐个和后面的字符串比较&#xff0c;逐…...

leetcode_数组 56. 合并区间

56. 合并区间 以数组 intervals 表示若干个区间的集合&#xff0c;其中单个区间为 intervals[i] [starti, endi] 。请你合并所有重叠的区间&#xff0c;并返回 一个不重叠的区间数组&#xff0c;该数组需恰好覆盖输入中的所有区间 。 示例 1&#xff1a; 输入&#xff1a;int…...

Jenkins学习(B站教程)

文章目录 1.持续集成CI2.持续交付CD3.持续部署4.持续集成的操作流程5.jenkins简介6.后续安装部署&#xff0c;见视频 bilibili视频 Jenkins是一个开源的、提供友好操作界面的持续集成(CI)工具&#xff0c;起源于Hudson&#xff08;Hudson是商用的&#xff09;&#xff0c;主要用…...

学习笔记—C++—类和对象(一)

目录 类和对象 类的定义 类定义格式 访问限定符 类域 实例化 实例化概念 对象的大小 this指针 C和C语言实现Stack对比 类和对象 类的定义 类定义格式 ● class为定义类的关键字&#xff0c;Stack为类的名字&#xff0c;{}中为类的主体&#xff0c;注意类定义结束时后…...

PyTorch 深度学习 || 6. Transformer | Ch6.3 Transformer 简单案例

1. 简单案例 这个代码是一个简单的 Transformer 模型的实现,这个例子展示了一个基本的序列到序列(seq2seq)任务,比如将一个数字序列转换为另一个数字序列。可以用于学习和理解 Transformer 的基本结构和工作原理。 import torch import torch.nn as nn import math# 位置…...

体育风暴篮球足球体育球员综合资讯网站模板

源码名称&#xff1a;篮球足球体育球员综合资讯网站模板 开发环境&#xff1a;帝国cms7.5 空间支持&#xff1a;phpmysql 带软件采集&#xff0c;可以挂着自动采集发布&#xff0c;无需人工操作&#xff01; 演示地址&#xff1a;https://www.52muban.com/shop/184016.html …...

Visual Studio Code SSH 连接超时对策( keep SSH alive)

文章目录 问题解决方法一&#xff1a;配置服务端关于ClientAliveInterval和ClientAliveCountMax1、打开终端&#xff0c;打开SSH配置文件&#xff1a;输入以下命令&#xff1a;2、打开配置文件后&#xff0c;添加以下内容&#xff1a;3、添加后&#xff0c;Esc按 <Enter>…...

Docker容器中的ubuntu apt update报错 解决办法

问题现象 # apt update Get:1 http://archive.ubuntu.com/ubuntu noble InRelease [256 kB] Get:2 http://security.ubuntu.com/ubuntu noble-security InRelease [126 kB] Err:2 http://security.ubuntu.com/ubuntu noble-security InRelease At least one invalid signa…...

CV - 目标检测

物体检测 目标检测和图片分类的区别&#xff1a; 图像分类&#xff08;Image Classification&#xff09; 目的&#xff1a;图像分类的目的是识别出图像中主要物体的类别。它试图回答“图像是什么&#xff1f;”的问题。 输出&#xff1a;通常输出是一个标签或一组概率值&am…...

linux提权 corn 提权

corn提权 corn的基本使用方法 corn的作用就是可以定时的完成一下任务&#xff08;如备份一下log 或者清除一下日志文件 这些就是运维人员用的&#xff09; 先找一下定时任务的工作表 cat /bin/corntab 这个是普通用户 我们直接看都看不了 说明什么说明这个 是root高权限执…...

1Panel安装失败 国内docker安装失败

本文仅针对学习交流&#xff0c;只为了帮助计算机相关专业大学生个人技能实操而记录 非学习目的严禁学习&#xff01;&#xff01;&#xff01;否则后果自负 1、离线安装1Panel&#xff08;不需要手动安装docker&#xff0c;离线安装包里包括了docker&#xff09; 离线包下载地…...

Excel + VBA 实现“准实时“数据的方法

Excel 本身是静态数据处理工具,但结合 VBA(Visual Basic for Applications) 可以实现 准实时数据更新,不过严格意义上的 实时数据(如毫秒级刷新)仍然受限。以下是详细分析: 1. Excel + VBA 实现“准实时”数据的方法 (1) 定时刷新(Timer 或 Application.OnTime) Appl…...

请问你怎么看待测试,指导哪些测试的类型,有用过哪些测试方法?

作为深耕测试领域多年的博主,我始终认为测试是软件质量的守护者,更是推动研发流程优化的催化剂。以下从测试认知、分类体系到实战方法论,结合具体案例为你系统拆解: 一、测试的本质认知 测试≠找 Bug,而是通过系统性验证回答三个核心问题: 软件是否符合用户需求?系统在…...

详解 Redis repl_backlog_buffer(如何判断增量同步)

一、repl_backlog_buffer 复制积压缓冲区&#xff08;Replication Backlog Buffer&#xff09; 是一个环形内存区域&#xff08;Ring Buffer&#xff09;&#xff0c;用于临时保存主节点最近写入的写命令&#xff0c;以支持从节点断线重连后的增量同步。 1.1 三个复制偏移量 …...

工业操作系统国产化替代的战略路径与挑战分析

一、政策背景与战略意义 工信部提出的 2027 年替换 80 万套工业操作系统计划&#xff0c;是中国制造业向智能化转型的核心举措。该政策旨在通过国产化替代&#xff0c;解决工业领域 “缺芯少魂” 的问题&#xff0c;构建自主可控的工业软件生态体系。当前&#xff0c;中国工业操…...

JMeter接口性能测试从入门到精通

前言&#xff1a; 本文主要介绍了如何利用jmter进行接口的性能测试 1.在测试计划中添加线程组 1.1.线程组界面中元素含义 如果点击循环次数为永远&#xff1a; 2.添加HTTP取样器 2.1.填写登录接口的各个参数 2.2.在线程组下面增加查看结果树 请求成功的情况&#xff1a; 请求…...

WinForm真入门(9)——RichTextBox控件详解

WinForm中RichTextBox控件详解&#xff1a;从基础到高级应用 上一文中笔者重点介绍了TextBox控件的详细用法&#xff0c;忘记的 请点击WinForm真入门(8)——TextBox控件详解&#xff0c;那么本文中的RichTextBox与TextBox有什么区别吗&#xff0c;光看名字的话&#xff0c;多了…...

Linux : 内核中的信号捕捉

目录 一 前言 二 信号捕捉的方法 1.sigaction()​编辑 2. sigaction() 使用 三 可重入函数 四 volatile 关键字 一 前言 如果信号的处理动作是用户自定义函数,在信号递达时就调用这个函数,这称为捕捉信号。在Linux: 进程信号初识-CSDN博客 这一篇中已经学习到了一种信号…...

Linux 字符串截取#与%

在Linux的Shell脚本中&#xff0c;#和%用于字符串截取&#xff0c;通过通配符模式匹配删除部分内容 批量修改文件名技巧&#xff1a;Linux下#、##、%、%%符号操作详解-CSDN博客 从左截取&#xff08;# 和 ##&#xff09; #&#xff1a;删除最短匹配左侧内容。 ##&#xff1a…...

Android学习总结之自定义View实战篇

场景一&#xff1a;自定义进度条 在很多应用中&#xff0c;我们会看到一些独特样式的进度条&#xff0c;接下来就实现一个简单的圆形进度条。 实现思路 继承 View 类。重写 onDraw 方法&#xff0c;在该方法里使用 Canvas 和 Paint 来绘制圆形进度条。提供更新进度的方法。 …...

C++ STL 详解 ——list 的深度解析与实践指南

在 C 的标准模板库&#xff08;STL&#xff09;中&#xff0c;list作为一种重要的序列式容器&#xff0c;以其独特的双向链表结构和丰富的操作功能&#xff0c;在许多编程场景下发挥着关键作用。深入理解list的特性与使用方法&#xff0c;能帮助开发者编写出更高效、灵活的代码…...

open函数的概念和使用案例

open 是 Linux/Unix 系统中用于打开或创建文件的系统调用&#xff0c;返回一个文件描述符&#xff08;File Descriptor&#xff09;&#xff0c;后续可通过该描述符进行文件读写等操作。以下是其核心概念和使用案例的详细说明&#xff1a; 1. 核心概念 作用&#xff1a;打开或…...

整理一些大模型部署相关的知识

不一定有什么用, 不经常用还会忘掉. 之前被人问到一次,脑子卡壳回答不出要点, 非常尴尬! 在此记录一下使用心得, 偶尔回来翻看! 一 并行方式 1.1 数据并行 (Data Parallelism) 主要用于模型训练阶段, 即将多个完整的模型副本分布到多个gpu上, 每个gpu运行一部分数据数据, 每个…...

算法刷题记录——LeetCode篇(2.10) [第191~200题](持续更新)

更新时间&#xff1a;2025-04-04 算法题解目录汇总&#xff1a;算法刷题记录——题解目录汇总技术博客总目录&#xff1a;计算机技术系列博客——目录页 优先整理热门100及面试150&#xff0c;不定期持续更新&#xff0c;欢迎关注&#xff01; 198. 打家劫舍 你是一个专业的…...

蓝桥杯备赛 Day 19 加练dfs

是否需要回溯? 输入参数有哪几个(当前dfs和下一个dfs什么会变?)&#xff1f; 是否需要返回值? 一.1158: 八皇后 P1158 - 八皇后 - New Online Judge (ecustacm.cn) 学习: 1.dfs输入为层数&#xff0c;即行号i&#xff0c;因为是每行只放一个&#xff0c;下一个dfs就是i1 2…...

蓝桥杯-卡java排序

问题描述 本题是一道针对 Java 中 Arrays.sort 的题目&#xff0c;因此只有一个数据&#xff0c;该数据可以把 int 类型的数组在使用 Arrays.sort 后卡成 O(n2)O(n2)。 给定一个有 nn 个正整数的序列 aa&#xff0c;你需要将其升序排序后输出。 输入格式 第一行输入一个正整…...

内存管理模块

在 Linux 内核中&#xff0c;内存管理是一个复杂而关键的组成部分。内核空间的虚拟地址被划分为多个区域&#xff0c;每个区域有其特定的用途和映射机制。本文将详细介绍 直接映射区&#xff08;Direct Mapping Area&#xff09;、vmalloc 区、永久内核映射区&#xff08;Perma…...

Spring RestTemplate修仙指南:从HTTP萌新到请求大能的终极奥义

各位在Spring生态摸爬滚打的道友们&#xff01;今天要解锁的是Spring官方御用HTTP法宝——RestTemplate&#xff01;这货堪称Java界的"御剑飞行术"&#xff0c;虽然官方已推荐WebClient接棒&#xff0c;但江湖上仍有80%项目在用这员老将&#xff01;准备好一键起飞了…...

cpp经典数论问题

题目如下 思路 代码如下...

Redis 线程模型:单线程也能快如闪电?

目录 一、核心思想&#xff1a;快刀斩乱麻的“单线程”高手 &#x1f9b8;‍♂️二、为什么是“单线程”&#xff1f;&#x1f914;三、单线程如何做到高性能&#xff1f;✨ “I/O 多路复用”是关键&#xff01;四、真的一直都只有“一个线程”吗&#xff1f;并不完全是&#x…...

游戏引擎学习第208天

运行游戏并回顾我们的情况 今天&#xff0c;我们将继续完成之前中断的调试输出工作。最近的工作偏离了一些&#xff0c;展示了如何进行元编程的实践&#xff0c;主要涉及了一个小的解析器。尽管这个解析器本身是一个玩具&#xff0c;但它展示了如何完成一个完整的循环&#xf…...

JavaScript箭头函数介绍(=>)(箭头函数不绑定自己的this,而是继承上下文的this;不能用于造函数)JavaScript =>

文章目录 JavaScript箭头函数全解析箭头函数的基本语法简洁语法特性隐式返回值对象字面量返回 词法绑定的this不适用箭头函数的场景对象方法构造函数DOM事件处理 高级用法在数组方法中的应用链式调用柯里化函数 性能考量1. 作为回调函数时减少创建闭包的开销2. 简化代码结构&am…...

数据对象:DTO、DO、PO和 BO的区别和关系

在Java开发中&#xff0c;DTO&#xff08;Data Transfer Object&#xff09;、DO&#xff08;Domain Object&#xff09;、PO&#xff08;Persistent Object&#xff09;和BO&#xff08;Business Object&#xff09;是常用的数据对象概念&#xff0c;下面为你详细介绍并给出简…...

Java内存模型详解:堆、栈、方法区

1. 堆&#xff08;Heap&#xff09; 作用&#xff1a;存放所有对象实例及数组&#xff0c;是垃圾回收的主要区域。 结构&#xff1a; 新生代&#xff08;Young Generation&#xff09;&#xff1a; Eden区&#xff1a;新创建的对象首先分配在此。 Survivor区&#xff08;From…...

ubuntu 20.04 编译运行LeGo_LOAM 跑数据集 并且保存pcl文件

1.搭建文件目录,clone代码,编译 mkdir -p Lego_LOAM/src cd Lego_LOAM/src git clone https://github.com/RobustFieldAutonomyLab/LeGO-LOAM.git cd .. catkin_make -j1 错误1&#xff1a;: fatal error: opencv/cv.h: 没有那个文件或目录 13 | #include <opencv/cv.h…...

CMake使用教程

CMake是开源、跨平台的构建工具,可以让我们通过编写简单的配置文件去生成本地的Makefile,这个配置文件是独立于运行平台和编译器的,这样就不用亲自去编写Makefile了,而且配置文件可以直接拿到其它平台上使用,无需修改,非常方便。 使用命令行执行CMakeLists.txt,对文件进…...

快速上手Linux进程管理

一.理解进程和线程 1.1 什么是进程 它表示一个正在执行的程序实例。在操作系统中&#xff0c;进程是系统进行资源分配和调度的基本单位。每个进程都有自己独立的内存空间、代码、数据和系统资源&#xff0c;如打开的文件、使用的硬件设备等。 进程的主要特点包括&#xff1a…...

pytorch框架实现cnn四种天气图片多分类问题-添加dropout和bn层

目录 1.导包 2.加载数据、拼接训练、测试文件夹 3. 查看当前目录下的所有文件名,以列表的形式输出 4.原数据集dataset中存在的数据的目标类别 5.创建train和test目录 及其需要分类的子文件夹 6.使用torchvision 的transforms进行数据预处理 6.1数据统一缩放resize、To…...

swift-11-init、deinit、可选链、协议、元类型

一、required 二、属性观察器 三、可失败初始化器 可以用init!定义隐式解包的可失败初始化器 可失败初始化器可以调用非可失败初始化器&#xff0c;非可失败初始化器调用可失败初始化器需要进行解包 如果初始化器调用一个可失败初始化器导致初始化失败 &#xff0c;那么整个初…...

【力扣hot100题】(062)搜索插入位置

感觉自己对二分法还是没有很好掌握&#xff0c;主要在于边界问题&#xff0c;只会基本的搜索&#xff0c;如果要搜索比目标值大的第一个索引或者比目标值小的最后一个索引&#xff08;或者换一些花里胡哨的题目&#xff09;就完全不会了。 class Solution { public:int search…...

TCPIP详解 卷1协议 三 链路层

3.1——以太网和IEEE802局域网/城域网标准 以太网这个术语通常指一套标准&#xff0c;由DEC&#xff0c;Intel公司和Xerox公司在1980年首次发布&#xff0c;并在1982年加以修订。第一个常见格式的以太网&#xff0c;目前被称为10Mb/s以太网或共享以太网。它被IEEE采纳为802.3标…...

以太网安全

前言&#xff1a; 端口隔离可实现同一VLAN内端口之间的隔离。用户只需要将端口加入到隔离组中&#xff0c;就可以实现隔离组内端口之间的二层数据的隔离端口安全是一种在交换机接入层实施的安全机制&#xff0c;旨在通过控制端口的MAC地址学习行为&#xff0c;确保仅授权设备能…...