HTML 总结

HTML

简介

  • HTML(HyperText MarkupLanguage): 超文本标记语言

  • 超文本 : 普通文本指的是只有文字没有图片 ,视频, 音乐,而超文本就有

  • 标记语言 : 由标签构成的语言

    • HTML的标签都是预定好的, 如<a>  </a> 为超链接

    • HTML代码直接在浏览器中运行,由浏览器内核进行解析

    • HTML 标签是由尖括号包围的关键词,比如 <html>

    • HTML 标签通常是成对出现的,比如 <b> 和 </b>

    • 标签对中的第一个标签是开始标签,第二个标签是结束标签

    • 开始和结束标签也被称为开放标签闭合标签

HTML5

  • HTML5 是最新的 HTML 标准。

  • HTML5 是专门为承载丰富的 web 内容而设计的,并且无需额外插件。

  • HTML5 拥有新的语义、图形以及多媒体元素。

    • 新的语义元素,比如 <header>, <footer>, <article>, and <section>。

    • 新的表单控件,比如数字、日期、时间、日历和滑块。

    • 强大的图像支持(借由 <canvas> 和 <svg>)

    • 强大的多媒体支持(借由 <video> 和 <audio>)

    • 强大的新 API,比如用本地存储取代 cookie。

  • HTML5 提供的新元素和新的 API 简化了 web 应用程序的搭建。

  • HTML5 是跨平台的,被设计为在不同类型的硬件(PC、平板、手机、电视机等等)之上运行。

<!DOCTYPE html>  <!-- html5文档类型(DOCTYPE)声明 -->
<html>  
<head>
<meta charset="UTF-8">  <!--charset 为字符编码(默认UTF-8)-->
<title>Title of the document</title>  <!-- 文档标题 -->
</head>
​
<body>
Content of the document......
</body>
​
</html>

HTML5 标准允许 4 种不同的属性语法。

类型示例
Empty<input type="text" value="Bill Gates" disabled>
Unquoted<input type="text" value=Bill Gates>
Double-quoted<input type="text" value="Bill Gates">
Single-quoted<input type="text" value='Bill Gates'>

HTML5 定义了八个新的语义 HTML 元素。所有都是块级元素。

可以把 CSS display 属性设置为 block,以确保老式浏览器中正确的行为:

实例

header, section, footer, aside, nav, main, article, figure {
    display: block; 
}

HTML 添加自定义标签

您可以通过浏览器 trick 向 HTML 添加任何新元素:

本例向 HTML 添加了一个名为 <myHero> 的新元素,并为其定义 display 样式:

实例
<!DOCTYPE html>
<!-- 声明文档类型为HTML5 -->
<script>document.createElement("myHero")</script>
<!-- 通过脚本动态创建一个名为"myHero"的自定义HTML元素
HTML5 可以不用
它是为了在那些不支持未知元素的自定义样式的旧版本IE浏览器中“激活”这个元素,使得可以为它应用CSS样式。
-->
  <style>
    myHero {
      display: block;
      background-color: #ddd;
      padding: 50px;
      font-size: 30px;
    } 
  </style> 
  <myHero>My First Hero</myHero> <!-- 使用它 -->
​

已添加的 JavaScript 语句 document.createElement("myHero"),仅适用于 IE。

Shiv

  • 临时替代品或工具。一种用于在旧版浏览器中启用HTML5新元素的JavaScript解决方案。

  • 开发者Sjoerd Visscher创建了一个名为"HTML5 Shiv"的JavaScript库。这个库的工作原理是在DOM解析之前,通过JavaScript动态创建这些新元素,使得旧版浏览器能够识别并应用样式到这些元素上。

<!-- 条件注释 lt是小于 < -->
<!--[if lt IE 9]>
  <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->

标签

因为标签太多请访问官方文档

HTML 标签参考手册 - 功能排序 (w3school.com.cn)icon-default.png?t=N7T8https://www.w3school.com.cn/tags/html_ref_byfunc.asp
 

表格标签 <table>

<table> 标签用于定义HTML文档中的表格。

行标签 <tr>:

  • <tr> 标签定义表格中的行。每个 <tr> 元素代表表格中的一行。

表头单元格标签 <th>:

  • <th> 标签用于表示表格的表头单元格。

  • 默认情况下,表头单元格的内容会加粗并居中显示,但这些样式可以通过CSS进行自定义。

普通单元格标签 <td>:

  • <td> 标签表示表格中的普通单元格。

  • 普通单元格中的内容默认不会加粗和居中,样式同样可以通过CSS进行调整。

<from>表单

定义<form>元素定义了一个表单,用户可以在表单中输入数据,这些数据可以被提交到服务器。

属性

  • action:指定表单提交时的目标URL(服务器端脚本的地址)。

  • method:定义提交表单时使用的HTTP方法(通常是GETPOST)。

    • GET 方法

      • 数据传输:表单数据附加在URL后面,形成查询字符串(如?name=value&age=30)。由于URL长度限制,GET请求不适合传输大量数据。

      • 缓存:GET请求可以被缓存,这意味着浏览器可以存储请求的结果,加快后续请求的速度。

      • 历史:GET请求保留在浏览器历史记录中,用户可以回退到之前的GET请求。

      • 安全性:由于数据暴露在URL中,GET不适用于传输敏感信息,如密码或个人信息。

      • 数据大小:由于URL长度限制,GET请求的数据大小有限制。

      POST 方法

      • 数据传输:表单数据不会显示在URL中,而是在HTTP请求的主体中。POST可以传输大量数据,没有大小限制。

      • 缓存:POST请求不会被缓存,每次提交都会向服务器发送新请求。

      • 历史:POST请求不会保留在浏览器历史记录中。

      • 安全性:由于数据不在URL中显示,POSTGET更安全,适合传输敏感信息。

      • 数据大小:POST请求可以传输大量数据,没有大小限制(尽管实际大小可能受到服务器配置的限制)。

  • name:表单的名称,可用于在文档中引用表单。

  • enctype:定义表单提交时使用的编码类型(如application/x-www-form-urlencoded, multipart/form-data等)。

输入字段<form>元素内部可以包含多种类型的<input>元素,以及其他表单控件,如<select>, <textarea>, <button>等。

输入类型<input>元素可以有多种类型,每种类型对应不同的输入控件,例如:

  • text:单行文本框。

  • password:密码输入框,输入内容会被隐藏。

  • submit:提交按钮,用于发送表单数据到服务器。

  • radio:单选按钮。

  • checkbox:复选框。

  • file:文件上传控件。

  • hidden:隐藏输入字段,对用户不可见。

  • image:图像作为提交按钮。

  • reset:重置按钮,用于重置表单中的所有字段到默认值。

表单控件:除了<input>元素,表单还可以包含以下控件:

  • <select>:下拉选择框。

  • <textarea>:多行文本输入区域。

  • <fieldset>:将表单中的相关元素分组。

  • <legend>:为<fieldset>元素提供标题。

表单验证:HTML5引入了表单验证功能,通过属性如required, pattern, min, max等,可以在客户端进行输入验证。

提交表单:用户填写完表单后,可以通过点击提交按钮或使用快捷键(通常是Ctrl+Enter)来提交表单。

服务器处理:表单提交后,数据会被发送到服务器,服务器端脚本(如PHP, Python, Node.js等)可以处理这些数据。

响应:服务器处理完表单数据后,可以向客户端返回响应,这可能是一个确认消息、重定向到另一个页面,或者显示处理结果。

安全性:表单数据在传输过程中应确保安全,可以通过HTTPS协议来加密数据

路径类型:
  • 绝对路径: 指定了从根目录开始的完整路径,可以是本地磁盘路径(如 D:/xxxx)或完整的网络路径(如 https://xxxx)。

  • 相对路径: 相对于当前文件的位置来查找资源,使用 ./ 表示当前目录,../ 表示上级目录。

css样式

CSS引入方式:
  • 行内样式: 使用元素的 style 属性直接在HTML标签内定义样式,如 <h1 style="color: red;">

  • 内嵌样式: 使用 <style> 标签在HTML文档的 <head> 部分或 <body> 部分定义样式。

  • 外联样式: 通过 <link> 标签引入外部的CSS文件,如 <link href="styles.css" rel="stylesheet">

  1. 颜色表示:

    • 关键字: 使用预定义的颜色关键字,如 redgreen

    • RGB表示法: 使用 rgb() 函数指定颜色,如 rgb(255, 0, 0) 表示红色。

    • 十六进制: 使用 # 后跟六个十六进制数来表示颜色,如 #ff0000 表示红色。

  2. 颜色属性:

    • color: 用于设置文本内容的颜色,可以与行内样式、内嵌样式或外联样式一起使用。

CSS选择器:
  • 元素选择器: 通过标签名选择元素,如 p { color: red; } 会选择所有的 <p> 标签。

  • ID选择器: 通过元素的ID属性选择特定的元素,如 #header { font-size: 20px; } 会选择ID为header的元素。

  • 类选择器: 通过元素的类属性选择多个元素,如 .highlight { background-color: yellow; } 会选择所有具有highlight类的元素。

  • 优先级: 在CSS中,ID选择器的优先级高于类选择器,类选择器的优先级高于元素选择器。此外,内联样式(直接在HTML元素上设置的样式)的优先级高于所有其他选择器。

超链接标签 <a>:
  • <a> 标签用于创建指向其他资源的链接。

  • href属性: href 属性指定了链接资源的URL,是超链接中必须的属性。

  • target属性指定了点击链接后资源将在哪里打开。

    • _self: 默认值,链接在相同的框架或窗口中打开。

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

CSS属性:

  • text-decoration: 此属性用于设置文本的装饰效果,如下划线、上划线、线删除等。none 值表示文本没有装饰,看起来像普通文本。

CSS盒子模型:

  • 内容(content): 盒子模型的核心区域,包含元素的实际内容。

  • 内边距(padding): 内容与边框之间的空间。

  • 边框(border): 围绕在内边距之外的一条线,可以设置其样式、宽度和颜色。

  • 外边距(margin): 边框外的区域,用于控制元素与其他元素之间的空间。

CSS属性:

  • width: 设置元素的宽度。

  • height: 设置元素的高度。

  • border: 设置边框的样式、宽度和颜色。例如:border: 1px solid #000; 表示边框宽度为1像素、样式为实线、颜色为黑色。

  • padding: 设置内边距。可以指定单个值(应用于所有四个边),或指定多个值(按照上、右、下、左的顺序分别应用于各个边)。

  • margin: 设置外边距。同样可以指定单个值或多个值。

API

navigator

Navigator:appCodeName 属性 - Web API |MDN的 (mozilla.org)

浏览器提供的一个内置JavaScript对象,它包含有关浏览器的信息,主要用于识别客户端浏览器的功能和提供与浏览器交互的方法。

方法/属性功能描述注意事项版本/兼容性
navigator.geolocation访问地理定位API,获取用户位置信息需用户授权,HTTPS可能为必须HTML5, 大多数现代浏览器支持
navigator.userAgent获取用户代理字符串,辨识浏览器类型和版本用于浏览器检测,但易遭伪装所有浏览器
navigator.language用户首选语言设置国际化应用重要参考所有现代浏览器
navigator.cookieEnabled检测浏览器是否支持启用的cookie网站功能兼容性检查所有浏览器
navigator.onLine检查用户是否在线(联网状态)网络依赖功能辅助判断大多数浏览器
getCurrentPosition()异步获取当前位置信息需配合navigator.geolocation使用,用户授权前提HTML5
watchPosition()持续监控位置变化getCurrentPosition,适合实时位置应用HTML5
clearWatch()停止位置监控配合watchPosition使用,释放资源HTML5
navigator.mediaDevices访问媒体设备(如摄像头、麦克风)需用户授权,适用于音视频应用新版浏览器
navigator.hardwareConcurrency系统CPU核心数(近似)用于性能评估,非精确值部分现代浏览器
navigator.doNotTrack用户反追踪偏好尊重用户隐私设置部分浏览器支持
地理定位 (navigator.geolocation)
  • navigator.geolocation.getCurrentPosition(callback, errorCallback, options):

    • callback: 当获取地理位置信息成功时调用的函数,该函数接收一个Position对象作为参数,该对象包含当前位置的详细信息。

    • errorCallback: (可选) 当获取地理位置信息失败时调用的函数,该函数接收一个PositionError对象作为参数,该对象包含错误代码和错误消息。

    • options: (可选) 一个对象,用于设置获取位置信息的选项,如 timeout、maximumAge 和 enableHighAccuracy。

  • navigator.geolocation.watchPosition(callback, errorCallback, options):

    • callback: 当地理位置信息更新时调用的函数,该函数接收一个Position对象作为参数。

    • errorCallback: (可选) 当获取地理位置信息失败时调用的函数,该函数接收一个PositionError对象作为参数。

    • options: (可选) 一个对象,用于设置获取位置信息的选项。

  • navigator.geolocation.clearWatch(watchId):

    • watchId: 通过调用watchPosition获得的监视器标识符,用于停止位置监视。

  • 用户隐私和权限:地理定位涉及到用户隐私,大多数浏览器在首次使用此功能时会要求用户授权。用户可以选择允许或拒绝,且可以在浏览器设置中随时更改此权限。

  • 安全限制:出于安全考虑,地理定位API只能在HTTPS环境下工作,或者在localhost上进行开发测试。

实例
<script>
    function getLocation(){
        if(navigator.geolocation){  <!-- 判断浏览器是否支持定位 -->
            navigator.geolocation.getCurrentPosition(showPosition);
        }else{
            <!-- 不支持 -->
        }
        
    }
    
    function showPosition(position){
        position.coords.latitude; <!-- 纬度 -->
        position.corrds.longitude; <!-- 经度 -->
        
    }
    
    
</script>

本地存储
LocalStorage:
  • 提供了一个在浏览器中存储数据的方式,数据没有过期时间,会永久保存直到被明确地清除。

  • 通过JavaScript的window.localStorage对象访问。

  • 只能在同源策略下的页面间共享数据。

示例代码:

// 存储数据
localStorage.setItem('username', 'JohnDoe');
​
// 读取数据
const username = localStorage.getItem('username');
​
// 删除单个数据项
localStorage.removeItem('username');
​
// 清除所有数据
localStorage.clear();
SessionStorage:
  • 类似于LocalStorage,但它为每个浏览器标签页或窗口提供了独立的存储空间。

  • 数据在页面会话期间有效,当标签页或窗口关闭时数据会被清除。

  • 通过JavaScript的window.sessionStorage对象访问。

  • 只能在同源策略下的页面间共享数据。

示例代码:

// 存储数据
sessionStorage.setItem('sessionKey', 'sessionValue');
//或 sessionStoragr.sessionKey = 'sessionValue'; 这样也可以
// 读取数据
const sessionValue = sessionStorage.getItem('sessionKey');
​
// 删除单个数据项
sessionStorage.removeItem('sessionKey');
​
// 清除所有数据
sessionStorage.clear();
Cookies:
  • 是服务器发送到客户端浏览器的小块数据。

  • 可以设置过期时间,过期后自动删除。

  • 通常用于存储会话信息,如用户认证状态。

  • 可以通过JavaScript的document.cookie属性访问和操作。

示例代码:

// 设置Cookie
document.cookie = "username=JohnDoe; expires=Thu, 18 Dec 2024 12:00:00 UTC; path=/";
/*
username=JohnDoe; 键值对
expires: 到期时间
如果没有指定,Cookie将是一个会话Cookie(session cookie),这意味着它只会存在于浏览器的当前会话中,并且在用户关闭浏览器时会被删除。
​
path:Cookie有效的服务器路径。
路径设置为根目录(/),意味着Cookie在该域下的所有页面上都是可访问的。
*/
​
​
// 读取Cookie
const cookies = document.cookie.split('; ');
const username = cookies.find(cookie => cookie.startsWith('username=')).split('=')[1];
​
// 删除Cookie
document.cookie = "username=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/; domain=example.com";
IndexedDB:
  • 是一个低等级的API用于客户端存储大量结构化数据。

  • 支持事务处理和索引,适合复杂查询和大量数据。

  • 通过JavaScript的indexedDB对象访问。

示例代码:

// 打开数据库
const request = indexedDB.open('myDatabase', 1);
​
// 创建对象存储
request.onupgradeneeded = function(e) {
    const db = e.target.result;
    if(!db.objectStoreNames.contains('store')) {
        db.createObjectStore('store', {keyPath: 'id'});
    }
};
​
// 进行数据库操作
request.onsuccess = function(e) {
    const db = e.target.result;
    // 执行数据库事务等操作
};

HTML5应用程序缓存

HTML5应用程序缓存(Application Cache),简称AppCache,是一种允许Web应用程序存储资源在用户设备上的机制,使得应用程序即使在没有网络连接的情况下也能运行。AppCache是作为浏览器的一部分实现的,它通过一个清单文件(manifest file)来管理这些资源。

以下是HTML5应用程序缓存的关键点:

  1. 清单文件 (manifest):

    • 这是一个简单的文本文件,列出了浏览器需要缓存的所有资源(如HTML、CSS、JavaScript文件、图片等)。

    • 清单文件通过在HTML文档的<head>部分使用<link>标签引用。

    示例:

    <!DOCTYPE html>
    <html>
    <head>
        <link rel="manifest" href="app.manifest">
    </head>
    <body>
        <!-- 页面内容 -->
    </body>
    </html>
  2. 资源缓存:

    • 当浏览器第一次加载Web应用程序时,它会根据清单文件下载并缓存所有列出的资源。

  3. 离线访问:

    • 用户在没有网络连接的情况下访问应用程序时,浏览器将从缓存中提供资源,而不是从网络加载。

  4. 更新资源:

    • 如果清单文件或其引用的资源发生变化,浏览器将自动下载更新的资源,并在下次访问时使用新版本。

  5. 状态变化:

    • AppCache有几个状态,包括检查(checking)、下载(downloading)、更新完成(update ready)和空闲(idle)。

    • 开发者可以通过监听这些状态的变化来提供用户界面反馈。

  6. 离线事件:

    • 当应用程序切换到离线模式时,window对象会触发一个offline事件。

  7. API:

    • AppCache提供了一些API,如applicationCache,允许开发者检查缓存状态和程序性地进行更新。

  8. 兼容性和限制:

    • AppCache在不同浏览器中的支持程度不同,且存在一些兼容性问题。

    • 由于其复杂性和安全问题,AppCache的使用已经不如以前广泛,并且有逐渐被淘汰的趋势。

  9. 替代技术:

    • 随着Service Workers的引入,它提供了更强大的离线支持和背景同步功能,许多开发者现在更倾向于使用Service Workers来代替AppCache。

  10. 清单文件示例:

    • 一个典型的清单文件可能如下所示:

      CACHE MANIFEST
      version 1.0
      # 版本号,每次更改清单时都应该增加版本号
      # 这样浏览器知道何时需要重新下载文件
      CACHE:
      /theme.css
      /logo.gif
      /main.js
      ​
      NETWORK:    # 不被缓存的文件列表 可以用" * "代替全部,CACHE会被覆盖
      login.asp
      ​
      FALLBACK:   # 无法建立因特网连接,则用 "offline.html" 替代 /html/ 目录中的所有文件:
      /html/ /offline.html
    • CACHE 部分:列出了应用程序加载时需要缓存的所有资源。这些资源将在应用程序第一次加载时被下载并存储在本地。

    • NETWORK 部分:列出了那些不应被缓存,需要总是从网络获取的资源。如果需要缓存所有其他资源,可以使用通配符 *,但通常如果使用了 *,则不需要列出特定的资源。

    • FALLBACK 部分:定义了当资源无法从网络获取时的替代资源。这通常用于提供离线体验,当用户设备没有网络连接时,可以提供一个备用页面或资源。

    • 版本控制:CACHE MANIFEST 文件中的版本号和日期信息用于控制缓存的更新。当这些信息发生变化时,浏览器将重新下载清单文件,并根据新的清单更新缓存。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/673363.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C++自定义String类

自定义一个String类型,该类包含一个指向字符串的指针和一个统计对象数量的计数器. 代码如下: //string.h #pragma once //String类型 #include <iostream> using namespace std;class String { private:char* m_str;//保存字符串的地址static int num_strings;//创建的对…

Nginx服务的主配置文件及配置举例

Nginx服务的主配置文件 安装Nginx认识Nginx服务全局配置I/O 事件配置HTTP 配置日志格式设定 访问状态统计配置查看Nginx已安装模块修改 nginx.conf 配置文件重启服务&#xff0c;访问测试 基于授权的访问控制准备用户密码认证文件修改 nginx.conf 配置文件重启服务&#xff0c;…

Xcode下载安装

1.Xcode可用版本判断&#xff1a; 2.Xcode下载安装&#xff1a; 方案1:AppStore 下载更新 若方案1失败则 方案2:指定版本Xcode包下载解压安装 苹果下载 3.Xcode命令行工具插件安装 xcode-select --install 备注&#xff1a; xcode_x.x.x.xip(压缩包存在时效性(使用前24h/…

【目录扫描】feroxbuster v2.10.2 字典整合版

# 简介 Feroxbuster是一款强大的目录扫描工具&#xff0c;Feroxbuster的主要功能是基于字典的目录扫描&#xff0c;并且默认使用Seclists字典进行使用&#xff01;并且具有快速和高效的特点&#xff0c;采用了多线程的技术来加快扫描速度。还支持暂停交互式设置等&#xff01;…

从一个猜数游戏开始

标题 一、从源码中学习1.1 源码1.2 运行结果 二、 导入一个trait三、重要源码分析 一、从源码中学习 1.1 源码 一个简单的猜数大小游戏&#xff0c;不集的输入&#xff0c;直到猜测正确时退出。 use rand::Rng; use std::cmp::Ordering; use std::io;fn main() {let secret_…

解锁自动化文档转换:Python-Markdown的魔法

文章目录 解锁自动化文档转换&#xff1a;Python-Markdown的魔法背景Python-Markdown是什么&#xff1f;如何安装Python-Markdown&#xff1f;Python-Markdown库函数使用方法场景应用示例常见问题与解决方案总结 解锁自动化文档转换&#xff1a;Python-Markdown的魔法 背景 在…

【Leetcode每日一题】 动态规划 - 简单多状态 dp 问题 - 买卖股票的最佳时机含冷冻期(难度⭐⭐)(79)

1. 题目解析 题目链接&#xff1a;309. 买卖股票的最佳时机含冷冻期 这个问题的理解其实相当简单&#xff0c;只需看一下示例&#xff0c;基本就能明白其含义了。 2.算法原理 二、算法思路 1. 状态表示 dp[i][0]&#xff1a;表示第 i 天结束后&#xff0c;处于「买入」状态…

总结2024.6.2

最近&#xff0c;还没受到offer&#xff0c;找工作找到自闭。在找工作的过程中&#xff0c;也听到一些面试官问我的职业生涯规划。这也让我陷入了沉思。自从考研结束后&#xff0c;都是被这个社会推着走的。我当初也想过自己要从事什么工作&#xff0c;不过&#xff0c;后面还是…

Mysql常见问题总结

1、MySQL初始化报错 mysqld --initialize --usermysql --console 2024-06-02T15:52:22.645557Z 0 [System] [MY-013169] [Server] D:\installSoft\mysql-8.0.21-winx64\bin\mysqld.exe (mysqld 8.0.21) initializing of server in progress as process 8980 2024-06-02T15:52:2…

向量叉乘的方向

向量叉乘的方向 最近在百度上看到这样一个帖子&#xff1a; 可以根据这个判断是顺时针还是逆时针的 ab的方向&#xff1a;四指由a开始&#xff0c;指向b&#xff0c;拇指的指向就是ab的方向&#xff0c;垂直于a和b所在的平面&#xff1b; ba的方向&#xff1a;四指由b开始&a…

驾校-短视频营销招生精品课:抖音推广技巧,抖音短视频招生(41节课)

课程下载&#xff1a;驾校-短视频营销招生精品课&#xff1a;抖音推广技巧&#xff0c;抖音短视频招生(41节课)-课程网盘链接提取码下载.txt资源-CSDN文库 更多资源下载&#xff1a;关注我。 课程内容&#xff1a; 课程目录 [1]-第1课驾校为什么要全力做好短视频营销.mp4 …

Gorm入门

Gorm入门 声明&#xff1a;本博客为看李文周大佬gorm入门视频笔记 【GORM简明教程】关于GORM你看这一个就够了_哔哩哔哩_bilibili 我的代码仓库&#xff1a;6月/Gorm 沉着冷静/2023 - 码云 - 开源中国 (gitee.com) gorm介绍 安装库 go get -u github.com/jinzhu/gormgo ge…

拼图游戏完整思路(全代码演示)

主界面 小练习1&#xff1a; 一、三个界面的设置1&#xff1a;创建窗体 1、将三个主界面分开为三个类&#xff0c;每个类都去继承JFrame这个类&#xff0c;使得每个类都可以使用创建页面功能 2、对每个类进行空参构造&#xff0c;在空参构造里面进行窗体属性的赋值 3、创建一个…

JavaScript基础(十一)

String对象的方法 上一次说了String&#xff0c;那也少不了方法。 length 字符串长度 charAt(a) 返回指定位置的字符&#xff0c;(这里a代表下标&#xff0c;它返回的就是下标a对应的字符) concat(b) 连接字符串&#xff0c;b是被合并的对象名&#xff0c;和加号拼接一样…

创新指南|领导者如何评估自己的表现——麦肯锡专有的CEO卓越评估工具

CEO是任何组织中最具挑战性和要求最高的职位之一&#xff0c;尤其是在当前的经济环境下。这也是最重要的职位之一。研究表明&#xff0c;一家公司 45% 的业绩可归因于CEO的影响。但 CEO 们的实际表现如何&#xff1f;他们面临哪些问题&#xff1f;如何帮助他们发挥出最佳水平&a…

HALCON飞拍贴片机框架程序——硬件介绍

本专栏主要讲解三头贴片机框架程序&#xff0c;包括硬件介绍和软件代码。硬件主要为视觉部分&#xff0c;软件为视觉检测代码部分。贴片机的机械硬件不做介绍。 具体设备运行视频可以搜索博主抖Y&#xff1a;“伶俐科技”观看。 贴片机硬件如下图分为三个部分&#xff0c;第一…

了解Maven,并配置国内源

目录 1.了解Maven 1.1什么是Maven 1.2快速创建一个Maven项⽬ 1.3Maven 核⼼功能 1.3.1项⽬构建 1.3.2依赖管理 1.4Maven Help插件 2.Maven 仓库 2.1中央仓库 2.2本地仓库 3.Maven 设置国内源 1.查看配置⽂件的地址 2.配置国内源 3.设置新项⽬的setting 1.了解Ma…

Ubuntu22.04之安装星火应用商店《兼容windows应用》(二百三十七)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 优质专栏&#xff1a;多媒…

AI预测体彩排3采取888=3策略+和值012路一缩定乾坤测试6月2日预测第9弹

今天继续基于8883的大底进行测试&#xff0c;今天继续测试&#xff0c;好了&#xff0c;直接上结果吧~ 首先&#xff0c;888定位如下&#xff1a; 百位&#xff1a;5,4,7,3,2,9,1,0 十位&#xff1a;4,6,5,7,2,9,1,0 个位&#xff1a;3,4,2,5,…

BIT 2024 编译原理 Lab. 4 四代编译器实验说明和要求

实验四&#xff1a;四代编译器实验 一、实验要求 详细实验要求请参考文件《Lab4实验说明和要求.pdf》。 二、实验思路 1、与 lab3 的对比 如果你在 lab3 就已经像我一样单独写了个函数处理表达式&#xff0c;那么理论上&#xff0c;lab4 相比于 lab3&#xff0c;不过就是多…