Lighthouse(灯塔)—— Chrome浏览器强大的性能测试工具

news2024/11/28 0:50:10

本文浏览器版本参考如下:

在这里插入图片描述

一、认识Lighthouse

Lighthouse 是 Google 开发的一款工具,用于分析网络应用和网页,收集现代性能指标并提供对开发人员最佳实践的意见。

为 Lighthouse 提供一个需要审查的网址,它将针对此页面运行一连串的测试,然后生成一个有关页面性能的报告。
在这里插入图片描述

1、三种模式

模式名称说明局限性
导航模式(默认)获取性能分数和所有性能指标。
评估渐进式 Web 应用功能。
在页面加载后立即分析可访问性。
无法分析表单提交或单页应用转换。
无法分析在页面加载时无法立即提供的内容。
时间跨度模式测量某个时间范围内的布局偏移和 JavaScript 执行时间,包括交互。
发现性能机会,以改善长期存在的页面和 SPA 的体验。
不提供总体性能分数。
无法分析基于时刻的性能指标(如:最大内容绘制)。
无法分析页面状态问题(如:没有无障碍功能类别)
快照模式分析当前状态的页面。
查找 SPA 或复杂表单深处的可访问性问题。
评估隐藏在交互后面的菜单和 UI 元素的最佳实践。
不提供总体性能分数或指标。
无法分析当前 DOM 之外的任何问题(如:没有网络、主线程或性能分析)。

2、设备

分为2种:移动设备和桌面设备

3、主要监测指标

主要监测指标说明
性能指标(Performance性能检测(重点)。对页面的性能评分,如:网页的加载速度、响时间等。
指标包括:首次内容绘制(First Contentful Paint)、首次有效绘制(First Meaningful Paint)、首次 CPU 空闲(First CPU Idle)、可交互时间(Time to Interactive)、速度指标(Speed Index)、输入延迟估值(Estimated Input Latency)。
可访问性(Accessibility铺助检测。监测页面的可访问性与优化建议,如:网页的可访问性问题,HTML代码标签之类的优化等
最佳实践(Best Practice实践性检测。如:网页安全性,如是否开启HTTPS、网页存在的漏洞等
搜索引擎优化(SEO: Search Engine Optimisation搜索引擎优化检测。如:网页title是否符合搜索引擎的优化标准等
PWA(Progressive Web App验证 PWA 的各个方面的性能情况。

二、使用Lighthouse

在浏览器控制台,选择 Mode: Navigation(Default) + Device: Desktop + Categories: Performance(性能)、Accessiblility(无障碍功能)、 Best practices(最佳实践)、SEO、Progressive Web App(渐进式Web应用), 然后点击Analyze page load 进行页面性能分析
在这里插入图片描述

三、Lighthouse报告分析

Lighthouse生成的分析报告,首先会根据自定义勾选的需要测试的指标进行总的打分(下图标1处,可以把分析报告进行导出结果等操作)。
在这里插入图片描述
Lighthouse 会对选择进行分析的维度给出一个的评估得分,分值范围0-100。

评分主要分为三个档次,分别用红黄绿三种颜色代表:

049(慢):红色 
​5089(平均值): 橙色
​90100(快): 绿色

如果得分能达到 90 分以上(绿色),则说明网站应用在该方面的评估表现符合最佳实践。

⚠️注: 如果没有分数或得分为 0,则很有可能是检测过程发生了错误,比如网络连接状况异常等。

1、性能指标 Performance(最重要!)

在这里插入图片描述
在这里插入图片描述
点击 See calculator,查看具体打分规则如下:
在这里插入图片描述

a. Metrics指标说明

指标名称说明
首次内容绘制
FCP(First Contentful Paint)
浏览器首次绘制来自 DOM 的内容的时间,内容必须是文本、图片(包含背景图)、非白色的 canvas 或 SVG,也包括带有正在加载中的 Web 字体的文本。
这是用户第一次开始看到页面内容,但仅仅有内容并不意味着它是有用的内容(如 Header、导航栏等)。
最大的内容绘制
LCP(Largest Contentful Paint)
可视区域中最大的内容元素呈现到屏幕上的最长时间,用以估算页面的主要内容对用户可见时间。
LCP 考虑的元素包括: 元素 、元素内的<svg>元素 、元素、通过 url() 函数加载背景图片的元素、包含文本节点或其他内联文本元素子级的块级元素。
可交互时间
TTI (Time to Interactive)
指的是所有的页面内容都已经成功加载,且能够快速地对用户的操作做出反应的时间点。
网页第一次完全达到可交互状态的时间点,浏览器已经可以持续性的响应用户的输入。
完全达到可交互状态的时间点是在最后一个长任务(Long Task)完成的时间,并且在随后的 5 秒内网络和主线程是空闲的。
总阻塞时间
TBT (Total Blocking Time)
表示此次分析过程中遇到的阻塞时间。
度量了 FCP 和 TTI 之间的总时间,在该时间范围内,主线程被阻塞足够长的时间以防止输入响应。
只要存在长任务,该主线程就会被视为“阻塞”,该任务在主线程上运行超过 50 毫秒(ms)。
累积布局偏移
CLS(Cumulative Layout Shift)
CLS 会测量在页面整个生命周期中发生的每个意外的布局移位的所有单独布局移位分数的总和,它是一种保证页面的视觉稳定性从而提升用户体验的指标方案。
布局转移的发生是因为浏览器倾向于异步加载页面元素。页面上可能存在最初尺寸未知的媒体元素,这种组合意味着浏览器在完成加载之前不知道各个元素会占用多少空间。因此,布局会发生剧烈变化。
CLS的有趣之处在于它可以用各种工具进行客观的测量,但它也是以用户为中心的,因为每个用户的设备都会影响你的网站布局的变化。虽然不能控制这一方面,但肯定可以采取预防措施,使其影响尽可能小。
速度指标
SI(Speed Index)
衡量首屏可见内容绘制在屏幕上的速度。在首次加载页面的过程中尽量展现更多的内容,往往能给用户带来更好的体验,所以速度指标的值约小越好。

更多指标

指标名称说明
首次CPU闲置
FCI(First CPU Idle)
指在页面加载期间,当页面的主要内容已经完成加载并且JavaScript代码已经执行完毕后,浏览器第一次空闲的时间点。
在这个时间点之后,页面可以响应用户的交互操作,比如点击按钮或输入文本。
首次绘制
FP (First paint)
指浏览器首次将像素渲染到屏幕上的时间点,也就是页面的第一个像素点被绘制的时间。
FP的发生时机取决于浏览器的渲染机制和页面的结构。
当浏览器开始加载页面时,会解析HTML和CSS,构建DOM和CSSOM树,然后将它们合并为渲染树。
当浏览器开始将渲染树渲染到屏幕上时,FP就发生了,在这个时刻,用户可以看到页面上的第一个像素点,也就是FP。
通常FP表现为白屏
首次有效绘制
FMP(First Meaningful Paint)
浏览器在加载网页时,第一次将主要内容呈现给用户的时间点。
这个时间点通常是用户感知到页面加载速度的关键点之一,用户可以看到页面上的一些内容,并开始与页面进行交互。
FMP是通过一个算法来猜测某个时间点的,所以可能不准确,且在 Lighthouse 6.0中,FMP指标已被弃用。
文档内容加载完成
DCL(DOMContentLoaded )
DCL指的是HTML文档中的DOM树构建完成、CSS文件加载完成并解析、JavaScript文件加载完成并执行的时间点,它表示网页的主要内容已经加载完成,可以开始进行交互和操作。
首次输入延迟
FID(First Input Delay)
测量从用户第一次与页面交互,直到浏览器对交互作出响应,并实际能够开始处理事件处理程序所经过的时间。
FID测量页面加载期间响应度,它针对的交互是不连续操作对应的输入事件,如点击、轻触和按键。其他诸如滚动和缩放之类的交互属于连续操作并不包含在她的测量内。

b. 指标衡量标准

常用指标

模式名称绿色快
首次内容绘制 FCP(First Contentful Paint)0–1.8(s)1.8–3> 3
最大的内容绘制 FCP(Largest Contentful Paint)0–2.5(s)2.5-4> 4
可交互时间 TTI(Time to Interactive)0–3.8(s)3.9–7.3> 7.3
总阻塞时间 TBT(Total Blocking Time)0–200(ms)200-600> 600
累积布局偏移 CLS(Cumulative Layout Shift)0–0.1(比例)0.1-0.25> 0.25
速度指标 SI(Speed Index)0-3.4(s)3.4-5.8> 5.8

更多指标

模式名称
首次CPU闲置 FCI(First CPU Idle)0–4.7(s)4.8-6.5> 6.5
首次有效绘制 FMP First Meaningful Paint0–2(s)2-4> 4
最大潜在首次输入延迟 MPFID Max Potential First Input Delay0–130(ms)130-250> 250
最大内容绘制 LCP (Largest Contenttful Paint)0–2.5(s)2.5-4>4

c.改进建议

OPPORTUNITIES(机会)

在这里插入图片描述

Opportunity的建议可以帮助更快地加载页面,但它们不会直接影响性能得分。

常见的可改进项有如下:

  • Use HTTP/2 ,HTTP/2 提供了许多优于 HTTP/1.1 的优点,包括二进制标头和多路复用。即现在用的是 HTTP/1.1,建议使用 HTTP/2。需要服务端配合改,目前不支持。

  • Minifying JavaScript ,精简js代码。

  • Reduce unused JavaScript ,减少未使用的 JavaScript 并推迟加载脚本,直到需要时才加载,以减少网络活动消耗的字节数(LCP)。即:删除无用的 JS,主要方法就是合理的代码分割和按需引入。

  • Enable text compression,基于文本的资源应该使用压缩(gzip等),以最小化网络总字节数(FCP,LCP)。即:配置 gzip压缩。

  • Eliminate render-blocking resources,列出了阻止页面首次绘制的所有 URL(FCP,LCP),通过内联关键资源、推迟非关键资源和删除任何未使用的内容来减少这些阻止渲染的 URL 的影响。即:合理加载资源,控制加载顺序。

    • 如何识别关键资源:使用 Chrome DevTools 中的 Coverage 选项卡来识别非关键 CSS 和 JS。当加载或运行页面时,该选项卡可以分析使用了多少代码,以及加载了多少代码,绿色(关键),红色(非关键 )

    • 如何消除渲染阻塞脚本:合理使用 asyncdefer 属性标记

    • 如何消除阻塞渲染的样式表:可使用 preload 链接异步加载其余样式,可查看推迟非关键 CSS

Diagnostics(诊断)

在这里插入图片描述
常见项如下:

  • Avoid chaining critical requests,避免链接关键请求,链的长度越大,下载量越大,对页面加载性能的影响就越大。考虑减少链的长度,减少资源的下载大小,或推迟不必要资源的下载以提高页面加载。

  • Keep request counts low and transfer sizes small,保持较低的请求数量和较小的传输大小

  • Largest Contentful Paint element,最大的内容 Paint 元素。

  • Avoid large layout shifts,避免大的布局变化。

  • Avoid long main-thread tasks,避免长时间的主线程任务。由于耗时超过 50 毫秒的复杂工作,会出现占用大量 CPU 的长任务。长任务会使主线程保持忙碌,延迟用户交互。Chrome DevTools 现在可以将长任务可视化,从而更容易查看要优化的任务

    • 在 Chrome DevTools 中手动查找超过 50 毫秒的“长黄色块”脚本
    • DevTools 可视化了 Long Tasks。如果任务(以灰色显示)是长任务,则它们会带有红旗
  • Avoid non-composited animations,避免非合成动画。

PASSED AUDITS( 审核通过)

在这里插入图片描述
列举了在性能优化方面做的比较好的地方,常见项及说明如下(其实做性能优化的时候就可以参照这些方面):

  • Properly size images:适当大小的图像,避免字节浪费而减慢页面加载时间
  • Defer offscreen images:屏幕外图像延迟加载
  • Minify CSS:缩小 CSS 文件,减少网络负载大小
  • Minify JavaScript:缩小 JS 文件,减少有效负载大小和脚本解析时间
  • Reduce unused CSS:删除未使用的 CSS
  • Efficiently encode images:有效地图片编码和优化
  • Serve images in next-gen formats:以下一代格式提供图像
  • Enable text compression:启用文本压缩
  • Preconnect to required origins:预连接到所需的源
  • Initial server response time was short:初始服务器响应时间很短
  • Avoid multiple page redirects:避免多个页面重定向
  • Preload key requests:预加载关键请求
  • Use video formats for animated content:用视频替换动画 GIF
  • Remove duplicate modules in JavaScript bundles:删除 JavaScript 包中的重复模块
  • Avoid serving legacy JavaScript to modern browsers:避免向现代浏览器提供旧版 JavaScript
  • Preload Largest Contentful Paint image:预加载最大的内容绘制
  • Avoids enormous network payloads:避免巨大的网络负载
  • Uses efficient cache policy on static assets:对静态资产使用高效的缓存策略
  • Avoids an excessive DOM size:避免过大的 DOM 元素
  • User Timing marks and measures:用户计时标记和度量
  • JavaScript execution time:JavaScript 执行时间
  • Minimizes main-thread work:最小化主线程工作
  • All text remains visible during webfont loads:在 webfont 加载期间所有文本保持可见
  • Minimize third-party usage:尽量减少第三方使用
  • Lazy load third-party resources with facades:延迟加载第三方资源
  • Uses passive listeners to improve scrolling performance:使用被动侦听器来提高滚动性能
  • Avoids document.write():避免使用 document.write()
  • Image elements have explicit width and height:图像元素应具有明确的宽度和高度

2、可访问性(Accessibility)

Accessibility 辅助功能 : 主要针对无障碍设计,也称为网站可达性,是指所创建的网站对所有用户都可用/可访问,不管用户的生理/身体能力如何、不管用户是以何种方式访问网站。
在这里插入图片描述
在这块的测试结果中,会看到很多需要优化的地方,点击对应的建议改进项,就可以看到为什么要改,以及改动的代码是哪里等说明。

如果网站或系统确实需求做无障碍设计,则按照指示修改代码即可。

如:
在这里插入图片描述

ARIA(无障碍)

增强辅助技术用户的体验,如屏幕阅读器。

Contrast(对比度)

提高内容易读性。

比如:Background and foreground colors do not have a sufficient contrast ratio(背景色和前景色没有足够的对比度) 解决:UI 设计的样式和颜色就是这样的,不好改

Names and labels

改进应用程序中的控件语义,增强辅助技术(如屏幕阅读器)用户的体验。

比如:

  • Image elements do not have [alt] attributes(图像元素没有 [alt] 属性)
    • 解决:需要向图像添加替代文本,添加alt属性,用作占位符,这个容易改
  • Links do not have a discernible name(链接没有可辨别的名称)
    • 链接主要从其文本内容中获取其可访问的名称,内容不具备代表性时,可使用aria-label定义

Best practices(最佳实践)

  • [user-scalable="no"] is used in the element or the [maximum-scale] attribute is less than 5:([user-scalable=“no”](禁用网页上的浏览器缩放)用于元素或 [maximum-scale]属性小于 5)
    • 分析:对于依赖浏览器缩放来查看网页内容的低视力用户来说,这两个配置都是有问题的。
    • 解决:但是实际情况中,缩放了页面样式会混乱,一般是不能缩放的

Additional items to manually check(手动检查)

  • The page has a logical tab order:该页面具有逻辑 Tab 键顺序。
    • 测试:可以用 tab 键盘浏览页面,元素聚焦顺序遵循 DOM 顺序
    • 修复:tabindex 属性可控制
  • Interactive controls are keyboard focusable:交互式控件可通过键盘聚焦。
    • 测试:先通过 Tab 键浏览,再使用 TAB(或 SHIFT + TAB)到控制间来回移动,并使用箭头键 ENTER 和 SPACE 操纵它们的值
    • 修复:tabindex 来提高控件的可聚焦性;可能还需要向自定义控件元素添加适当的 ARIA 角色
  • Interactive elements indicate their purpose and state:交互元素表明它们的目的和状态。
    • 测试:tab 键测试,:focus 可设置焦点指示器的样式
  • The user's focus is directed to new content added to the page:用户的焦点被定向到添加到页面的新内容。
  • User focus is not accidentally trapped in a region:用户焦点不会意外陷入某个区域。
    • 测试:使用键盘在所有页面元素之间导航。用于 TAB“向前”SHIFT + TAB 导航和“向后”导航。
    • 修复:提供一种键盘可访问的方法来转义模态,创建可访问 modal,模态和键盘陷阱
  • Custom controls have associated labels:自定义控件具有关联的标签,是可聚焦的。
  • Custom controls have ARIA roles:检查所有自定义控件是否具有 role 赋予其属性和状态的适当且任何必需的 ARIA 属性。
  • Visual order on the page follows DOM order:页面上的视觉顺序遵循 DOM 顺序。
  • Offscreen content is hidden from assistive technology:屏幕外内容对辅助技术隐藏。
  • HTML5 landmark elements are used to improve navigation:HTML5 地标元素用于改进导航,如 main、nav、aside 等。

Passed audits(通过审核)

  • [aria-hidden="true"] is not present on the document :body 上不能写 aria-hidden 属性
  • [aria-hidden="true"] elements do not contain focusable descendents:[aria-hidden=“true”] 元素包含可聚焦的后代
  • [aria-*] attributes have valid values:[aria-*] 属性没有有效值
  • [aria-*] attributes are valid and not misspelled:[aria-*] 属性无效或拼写错误
  • Buttons have an accessible name:按钮没有可访问的名称,aria-label 属性标识
  • The page contains a heading, skip link, or landmark region:页面不包含标题、跳过链接或地标区域)
  • Document has a element:文档有元素
  • Heading elements appear in a sequentially-descending order:标题元素不是按顺序降序排列的,即结构不佳
  • element has a [lang] attribute:元素没有lang属性
  • element has a valid value for its [lang] attribute:lang属性没有有效值
  • Form elements have associated labels:表单元素没有关联的标签,使用 for 属性引用元素的 id
  • No element has a [tabindex] value greater than 0:某些元素的[tabindex]值大于 0,会被认为是反模式

3、Best Practices(最佳实践)

在这里插入图片描述

Trust and Safety(信任与安全)

在这里插入图片描述

  • Ensure CSP is effective against XSS attacks:确保 CSP 对 XSS 攻击有效
  • Does not use HTTPS:没有使用 HTTPS,有 不安全的请求

General(通用)

在这里插入图片描述

  • Missing source maps for large first-party JavaScript:缺少 JavaScript 的源映射。一般出现情况是可能开发环境是有的,但是生产环境为了减少包大小,一般不会配置*

Passed audits(审核通过)

在这里插入图片描述

  • Links to cross-origin destinations are safe(指向跨源目的地的链接不安全)
    • 问题:使用target="_blank"属性链接到另一个站点上的页面时,可能会面临性能和安全问题
    • 解决:添加 rel="noopener"rel="noreferrer"
  • Avoids requesting the geolocation permission on page load(在页面加载时请求地理定位权限)
    • 问题:代码调用 geolocation.getCurrentPosition()geolocation.watchPosition(),并且尚未授予地理定位权限,则审核失败
  • Avoids requesting the notification permission on page load(请求页面加载通知权限)
    • 问题:代码调用 notification.requestPermission(),并且尚未授予通知权限,则审核失败
  • Avoids front-end JavaScript libraries with known security vulnerabilities(具有已知安全漏洞的前端 JavaScript 库)
    • 问题:入侵者可以通过自动网络爬虫扫描站点,查找已知的安全漏洞
  • Allows users to paste into password fields(防止用户获取密码)
  • Displays images with correct aspect ratio(显示纵横比不正确的图像)
  • Serves images with appropriate resolution(提供响应式图像)
  • Page has the HTML doctype(页面缺少 HTML 文档类型,从而触发怪异模式)
  • Properly defines charset(字符集声明缺失或在 HTML 中出现得太晚)
  • Avoids unload event listeners(要避免遗留的生命周期 API,事件或者监听器要注销)
  • Avoids Application Cache(使用应用程序缓存)
    • 使用缓存 API 而不是应用程序缓存,通过 Service Worker 使用缓存 API
  • Detected JavaScript libraries(列出所有前端使用的 JavaScript 库)
  • Avoids deprecated APIs(使用已弃用的 API)
  • No browser errors logged to the console(没有浏览器错误被记录到控制台)
  • No issues in the Issues panel in Chrome Devtools(Chrome Devtools “Issues” 面板中没有未解决的问题)

NOT APPLICABLE(不适用)

在这里插入图片描述

4、SEO(搜索引擎优化)

在这里插入图片描述

Content Best Practices(内容最佳实践)

在这里插入图片描述

Crawling and Indexing(爬取和索引)

在这里插入图片描述

Additional items to manually check(需要手动检查的项目)

在这里插入图片描述

Passed audits(审核通过)

在这里插入图片描述

  • Has a tag with width or initial-scale:视窗宽度和缩放比例
  • Document has a element:标题
  • Document has a meta description:元描述
  • Page has successful HTTP status code:成功的 HTTP 状态代码
  • Links have descriptive text:描述性链接文本
  • Page isn’t blocked from indexing:页面没有阻止搜索引擎爬虫编制索引
  • Document has a valid hreflang:有效的语言代码
  • Document avoids plugins:避免插件,如 embed、object、applet

Not applicable(不适用)

在这里插入图片描述

5、PWA

在这里插入图片描述

Installable(安装)

在这里插入图片描述

  • Web app manifest or service worker do not meet the installability requirements:Web 应用清单或 Service Worker 不符合可安装性要求

PWA Optimized(PWA 优化)

在这里插入图片描述

  • Is not configured for a custom splash screen:自定义启动画面,Failures: No manifest was fetched.
    • Does not set a theme color for the address bar:为地址栏设置主题颜色 <meta name="theme-color" content="#317EFB"/>
  • Manifest doesn't have a maskable icon:没有可屏蔽图标,No manifest was fetched
  • Does not register a service worker that controls page and start_url:没有注册 Service Worker
  • Does not redirect HTTP traffic to HTTPS:使用 HTTPS 进行保护
  • Does not provide a valid apple-touch-icon:添加 Apple 触摸图标 <link rel="apple-touch-icon" href="/example.png">

ADDITIONAL ITEMS TO MANUALLY CHECK(需要手动检查)

在这里插入图片描述

四、参考文档

Google dev开发指南: web.dev/

前端性能优化之概念术语介绍: https://juejin.cn/post/7231106434833547325#heading-2

前端性能优化之Lighthouse实战 “点对点”优化 :https://juejin.cn/post/7016922364185149477#heading-14

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Typora+PicGo+Minio搭建博客图床

文章目录 TyporaPicGoMinio搭建博客图床前言什么是图床?为什么需要图床?准备工作一、Typora二、Picgo1. 下载Picgo2. 下载node.js3. 下载minio插件 三、服务器端配置1. 添加端口到安全组2. 使用Docker安装minio3. 配置minio image-20231127175530696四、minio插件配置五、Typ…

Python入门04字符串

目录 1 字符串的定义2 转义字符3 字符串的常见方法4 分割字符串5 字符串反转6 字符串的链式调用7 格式化字符串8 多行字符串总结 1 字符串的定义 在Python中&#xff0c;字符串表示一个字符的序列&#xff0c;比如 str "hello,world"这里我们定义了一个字符串&…

SpringBoot 入门学习

开发环境配置 JDK 1.8、Maven 3.8.8、 IDEA CE 2023.2 框架介绍 Spring Boot 是由 Pivotal 团队提供的全新框架&#xff0c;其设计目的是用来简化 Spring 应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置&#xff0c;从而使开发人员不再需要定义样板化的配置…

STM32F103C8T6——4路PWM

//main()函数前面的extern TIM_HandleTypeDef htim2;extern TIM_HandleTypeDef htim3;//main()函数内部额外添加的HAL_TIM_Base_Start_IT(&htim2);HAL_TIM_PWM_Start(&htim2,TIM_CHANNEL_1);HAL_TIM_PWM_Start(&htim2,TIM_CHANNEL_2);HAL_TIM_PWM_Start(&htim2…

深度学习中小知识点系列(三) 解读Mosaic 数据增强

前言 Mosaic数据增强&#xff0c;这种数据增强方式简单来说就是把4张图片&#xff0c;通过随机缩放、随机裁减、随机排布的方式进行拼接。Mosaic有如下优点&#xff1a; &#xff08;1&#xff09;丰富数据集&#xff1a;随机使用4张图片&#xff0c;随机缩放&#xff0c;再随…

[ CSS ] 内容超出容器后 以...省略

内容超出容器后 以…省略 当前效果 代码 <template><div class"box">有志者&#xff0c;事竟成&#xff0c;破釜沉舟&#xff0c;百二秦关终属楚; 有心人&#xff0c;天不负&#xff0c;卧薪尝胆&#xff0c;三千越甲可吞吴</div> </templa…

【Proteus仿真】【Arduino单片机】蔬菜大棚温湿度控制系统设计

文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 本项目使用Proteus8仿真Arduino单片机控制器&#xff0c;使用PCF8574、LCD1602液晶、DHT11温湿度传感器、按键、继电器、蜂鸣器、加热、水泵电机等。 主要功能&#xff1a; 系统运行后&#xff0c;LCD160…

TikTok新媒体战略:数字时代的社交营销

引言 随着数字时代的来临&#xff0c;社交媒体已成为企业推广和品牌建设的关键平台之一。而在众多社交媒体中&#xff0c;TikTok以其独特的短视频形式和庞大的用户基数吸引了无数企业和个人创作者。本文将深入探讨TikTok新媒体战略&#xff0c;探讨在数字时代如何利用这一平台进…

距离向量路由协议——RIP

目录 动态路由动态路由简介为什么需要动态路由动态路由基本原理路由协议的分类 距离向量路由协议RIPv1 VS RIPv2RIP简介RIPv1的主要特征RIPv1的基本配置 VS RIPv2的基本配置RIP配置案例被动接口单播更新使用子网地址 动态路由 动态路由简介 为什么需要动态路由 如果采用静态…

3.3VPWM转24VPWM电路

一、MOS管导通原理。 MOS管的两个重要参数 VGS(th)&#xff1a;开启电压 VGS(off)&#xff1a;预夹断电压 VDS(max)漏源破坏电压 1、MOS管&#xff1a; 当0<VGS<VGS(th),MOS管关断。 当VGS>VGS(th)&#xff0c;VDS>0&#xff0c;NMOS管导通。 VGDVGS-VDS&#xff…

Python实现WOA智能鲸鱼优化算法优化LightGBM回归模型(LGBMRegressor算法)项目实战

说明&#xff1a;这是一个机器学习实战项目&#xff08;附带数据代码文档视频讲解&#xff09;&#xff0c;如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 鲸鱼优化算法 (whale optimization algorithm,WOA)是 2016 年由澳大利亚格里菲斯大学的Mirjalili 等提…

超全超实用行业解决方案合集,覆盖十大行业数据应用需求

现代企业面对复杂的业务需求&#xff0c;对数据分析的需求日益增加。 从实时销售到市场趋势&#xff0c;从客户行为到产品优化&#xff0c;每个环节都依赖于数据支持。然而&#xff0c;传统的数据分析平台常分散在不同系统和团队中&#xff0c;形成数据孤岛&#xff0c;降低了…

Python实现AI助手

目录 1.介绍 2.准备工作 (1)登录百度智能云 (2)创建应用 (3) 获取Key 3.代码实现 4.效果展示 1.介绍 本文将介绍使用python调用百度云千帆大语言模型的API实现一个简单的AI助手,并且将在本文的第三部分贴出完整源码,供学习交流! 如果你觉得本篇文章对你有用,希望你动动宝…

单片机毕设实物买的成品,论文是自己查资料和照着实物写的

单片机毕设实物买的成品&#xff0c;论文是自己查资料和照着实物写的&#xff0c;算学术不端吗&#xff1f; 很多人的想法可能是这样的&#xff1a; 一般来说&#xff0c;毕业论文是独立完成的学术研究&#xff0c;需要表明作者自己的思考和研究成果&#xff0c;应该包括自己的…

2020年09月 Scratch(四级)真题解析#中国电子学会#全国青少年软件编程等级考试

Scratch等级考试(1~4级)全部真题・点这里 一、单选题(共15题,每题2分,共30分) 第1题 执行下面程序,输入4和7后,角色说出的内容是? A:4,7 B:7,7 C:7,4 D:4,4 答案:B 第2题 执行下面程序,输出是? A:大学 中庸 孟子 论语 B:论语 大学 孟子 中庸 C:大…

steam游戏搬砖新手最容易掉的五大坑

steam搬砖&#xff0c;月入5-8K 进入任何行业&#xff0c;起初都可能看起来很简单&#xff0c;但要稳定获得利润&#xff0c;需要一些努力和理解行业内的思维逻辑。steam搬砖项目有两条路可以选择&#xff1a;一是通过不断踩坑和试错来积累经验&#xff1b;二是进行知识付费&am…

python+feon有限元分析|feon安装

目录 1、查找 2、下载 3、解压 4、安装 Feon是湖北工业大学土木建筑与环境学院教师裴尧尧基于Python开发的一个开源免费的有限元计算框架。这是一个致力于有限元编程教学和有限元理论研究的框架&#xff0c;上手快&#xff0c;可扩展性强&#xff0c;代码开源。 1、查找 …

1998-2021年全国各地级市PM2.5平均浓度数据

1998-2021年全国各地级市PM2.5平均浓度数据 1、时间&#xff1a;1998-2021年 2、指标&#xff1a;省、省代码、市、市代码、年份、均值、总和、最小值、最大值、标准差 3、来源&#xff1a;Washington university Atmospheric Composition Analysis Group 4、范围&#xff…

【JMeter】运行方式

第一种&#xff1a; 使用GUI 操作&#xff1a; 在JMeter界面菜单导航上点击运行按钮 一般用作创建TestPlan和调试脚本增加java堆空间来满足测试环境 第二种&#xff1a;使用CLI(Command Line) 性能测试一般请求量比较大&#xff0c;为了节省资源 CLI参数用法&#xff1a; 字段…

Java开发者的Python快速进修指南:自定义模块及常用模块

自定义模块 我来举一个在Java开发中常用的开发方式作为例子。在我们进行项目开发时&#xff0c;通常会在项目的结构中创建一个util包&#xff0c;用于存放一些工具类。同样&#xff0c;Python也可以采用类似的方式来组织代码结构&#xff0c;让大家更容易理解。 在同目录下 如果…