<?xml version="1.0" encoding="utf-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><title>好用网址导航</title><link>https://hao.websjy.com/</link><description>好用又好记的网址导航</description><item><title>字加网</title><link>https://hao.websjy.com/post/492.html</link><description>&lt;p&gt;字加网，设计师必备的字体库。万款字体正版字体下载，包括PS字体，广告字体，卡通字体，毛笔字体，可爱字体等各种好看字体。设计师提升效率的选择。字加&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://www.zijia.com.cn/&quot; target=&quot;_blank&quot;&gt;&lt;img class=&quot;ue-image&quot; src=&quot;https://hao.websjy.com/zb_users/upload/2026/04/202604281777367785612280.jpg&quot; title=&quot;ScreenShot_2026-04-28_171248_865.jpg&quot; alt=&quot;ScreenShot_2026-04-28_171248_865.jpg&quot;/&gt;&lt;/a&gt;&lt;/p&gt;</description><pubDate>Tue, 28 Apr 2026 17:10:32 +0800</pubDate></item><item><title>Clideo</title><link>https://hao.websjy.com/post/491.html</link><description>&lt;p&gt;Clideo — 这个平台让您轻松编辑所有视频文件、图片和GIF。是的，免费。&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;img class=&quot;ue-image&quot; src=&quot;https://hao.websjy.com/zb_users/upload/2026/04/202604281777366445166269.png&quot; style=&quot;&quot; title=&quot;ScreenShot_2026-04-28_165138_340.png&quot;/&gt;&lt;/p&gt;&lt;p&gt;&lt;img class=&quot;ue-image&quot; src=&quot;https://hao.websjy.com/zb_users/upload/2026/04/202604281777366445903786.png&quot; style=&quot;&quot; title=&quot;ScreenShot_2026-04-28_165233_511.png&quot;/&gt;&lt;/p&gt;&lt;div class=&quot;pageVideoEditorUseCasesPlain&quot;&gt;&lt;div class=&quot;pageVideoEditorUseCasesPlain__allInOneText&quot;&gt;&lt;h3 class=&quot;pageVideoEditorUseCasesPlain__title&quot;&gt;您的全能在线视频编辑器&lt;/h3&gt;&lt;p class=&quot;pageVideoEditorUseCasesPlain__paragraph&quot;&gt;从零开始制作您自己的视频，编辑并添加音乐——一切尽在一个屏幕上！我们无缝衔接的视频编辑器配备多轨时间线，助您轻松管理添加的媒体内容。&lt;/p&gt;&lt;/div&gt;&lt;div class=&quot;pageVideoEditorUseCasesPlain__allInOneImage&quot;&gt;&lt;picture&gt;&lt;source type=&quot;image/avif&quot; width=&quot;535&quot; height=&quot;330&quot;/&gt;&lt;source type=&quot;image/webp&quot; width=&quot;535&quot; height=&quot;330&quot;/&gt;&lt;source type=&quot;image/png&quot; width=&quot;535&quot; height=&quot;330&quot;/&gt;&lt;img class=&quot;pageVideoEditorUseCasesPlain__image&quot; width=&quot;535&quot; height=&quot;330&quot; src=&quot;https://static.clideo.com/assets/images/editor/all-in-one.png&quot; alt=&quot;&quot;/&gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/picture&gt;&lt;/div&gt;&lt;div class=&quot;pageVideoEditorUseCasesPlain__textToVideoImage&quot;&gt;&lt;picture&gt;&lt;source type=&quot;image/avif&quot; width=&quot;535&quot; height=&quot;330&quot;/&gt;&lt;source type=&quot;image/webp&quot; width=&quot;535&quot; height=&quot;330&quot;/&gt;&lt;source type=&quot;image/png&quot; width=&quot;535&quot; height=&quot;330&quot;/&gt;&lt;img class=&quot;pageVideoEditorUseCasesPlain__image&quot; width=&quot;535&quot; height=&quot;330&quot; src=&quot;https://static.clideo.com/assets/images/editor/add-text-to-video.png&quot; alt=&quot;&quot;/&gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/picture&gt;&lt;/div&gt;&lt;div class=&quot;pageVideoEditorUseCasesPlain__textToVideoText&quot;&gt;&lt;h3 class=&quot;pageVideoEditorUseCasesPlain__title&quot;&gt;为您的视频添加文字&lt;/h3&gt;&lt;p class=&quot;pageVideoEditorUseCasesPlain__paragraph&quot;&gt;我们的编辑器具备制作精彩视频所需的所有功能——随心添加文字到您的项目，并进行个性化设置！您可以更改字体、大小、粗细、颜色，添加背景等更多功能！&lt;/p&gt;&lt;/div&gt;&lt;div class=&quot;pageVideoEditorUseCasesPlain__pictureInPictureText&quot;&gt;&lt;h3 class=&quot;pageVideoEditorUseCasesPlain__title&quot;&gt;制作画中画和分屏视频&lt;/h3&gt;&lt;p class=&quot;pageVideoEditorUseCasesPlain__paragraph&quot;&gt;您可以手动调整图像和视频的位置，轻松创建画中画、分屏视频或其他任意组合的拼贴。如此简单，前所未有！&lt;/p&gt;&lt;/div&gt;&lt;div class=&quot;pageVideoEditorUseCasesPlain__pictureInPictureImage&quot;&gt;&lt;picture&gt;&lt;source type=&quot;image/avif&quot; width=&quot;535&quot; height=&quot;330&quot;/&gt;&lt;source type=&quot;image/webp&quot; width=&quot;535&quot; height=&quot;330&quot;/&gt;&lt;source type=&quot;image/png&quot; width=&quot;535&quot; height=&quot;330&quot;/&gt;&lt;img class=&quot;pageVideoEditorUseCasesPlain__image&quot; width=&quot;535&quot; height=&quot;330&quot; src=&quot;https://static.clideo.com/assets/images/editor/picture-in-picture.png&quot; alt=&quot;&quot;/&gt;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/picture&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;appLandingAdvantagesLayout middleTopPaddingMobile&quot;&gt;&lt;div class=&quot;appLandingAdvantage variantFull&quot;&gt;&lt;div class=&quot;appLandingAdvantage__icon&quot;&gt;&lt;svg width=&quot;38&quot; height=&quot;50&quot; viewbox=&quot;0 0 38 50&quot; fill=&quot;none&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot;&gt;&lt;/svg&gt;&lt;/div&gt;&lt;h3 class=&quot;appLandingAdvantage__title&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;适用于所有设备 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/h3&gt;&lt;p class=&quot;appLandingAdvantage__paragraph&quot;&gt;Clideo可以在任何设备的浏览器中使用，包括Mac、Windows、安卓和iOS。&lt;/p&gt;&lt;/div&gt;&lt;div class=&quot;appLandingAdvantage variantFull&quot;&gt;&lt;div class=&quot;appLandingAdvantage__icon&quot;&gt;&lt;svg width=&quot;32&quot; height=&quot;50&quot; viewbox=&quot;0 0 32 50&quot; fill=&quot;none&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot;&gt;&lt;/svg&gt;&lt;/div&gt;&lt;h3 class=&quot;appLandingAdvantage__title&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;纵横比预设 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/h3&gt;&lt;p class=&quot;appLandingAdvantage__paragraph&quot;&gt;将您的视频调整为方形、竖屏或横屏格式，方便分享到社交媒体平台，如YouTube、Facebook、Instagram、Twitter等。&lt;/p&gt;&lt;/div&gt;&lt;div class=&quot;appLandingAdvantage variantFull&quot;&gt;&lt;div class=&quot;appLandingAdvantage__icon&quot;&gt;&lt;svg width=&quot;36&quot; height=&quot;50&quot; viewbox=&quot;0 0 36 50&quot; fill=&quot;none&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot;&gt;&lt;/svg&gt;&lt;/div&gt;&lt;h3 class=&quot;appLandingAdvantage__title&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;不同设置 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/h3&gt;&lt;p class=&quot;appLandingAdvantage__paragraph&quot;&gt;调整所有录音的音量，减慢或加快视频速度，调节每个文件的亮度和对比度……以及更多精彩功能！&lt;/p&gt;&lt;/div&gt;&lt;div class=&quot;appLandingAdvantage variantFull&quot;&gt;&lt;div class=&quot;appLandingAdvantage__icon&quot;&gt;&lt;svg width=&quot;36&quot; height=&quot;50&quot; viewbox=&quot;0 0 36 50&quot; fill=&quot;none&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot;&gt;&lt;/svg&gt;&lt;/div&gt;&lt;h3 class=&quot;appLandingAdvantage__title&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;全程在线 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/h3&gt;&lt;p class=&quot;appLandingAdvantage__paragraph&quot;&gt;我们的服务无需下载或安装，因此不会占用您设备的空间。&lt;/p&gt;&lt;/div&gt;&lt;div class=&quot;appLandingAdvantage variantFull&quot;&gt;&lt;div class=&quot;appLandingAdvantage__icon&quot;&gt;&lt;svg width=&quot;36&quot; height=&quot;50&quot; viewbox=&quot;0 0 36 50&quot; fill=&quot;none&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot;&gt;&lt;/svg&gt;&lt;/div&gt;&lt;h3 class=&quot;appLandingAdvantage__title&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;无需经验 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/h3&gt;&lt;p class=&quot;appLandingAdvantage__paragraph&quot;&gt;我们将界面设计得真正用户友好且易于使用，即使没有任何编辑经验也能轻松上手！&lt;/p&gt;&lt;/div&gt;&lt;div class=&quot;appLandingAdvantage variantFull&quot;&gt;&lt;div class=&quot;appLandingAdvantage__icon&quot;&gt;&lt;svg width=&quot;30&quot; height=&quot;50&quot; viewbox=&quot;0 0 30 50&quot; fill=&quot;none&quot; xmlns=&quot;http://www.w3.org/2000/svg&quot;&gt;&lt;/svg&gt;&lt;/div&gt;&lt;h3 class=&quot;appLandingAdvantage__title&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;支持所有格式 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/h3&gt;&lt;p class=&quot;appLandingAdvantage__paragraph&quot;&gt;您再也不必担心格式问题，因为Clideo兼容所有现代图像、音频和视频格式。&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;pageVideoEditorLogosSliderLayout&quot;&gt;&lt;div class=&quot;appLandingLogosCarousel&quot;&gt;&lt;div class=&quot;appLandingLogosCarousel__carousel&quot;&gt;&lt;br/&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Tue, 28 Apr 2026 16:48:52 +0800</pubDate></item><item><title>秒悟</title><link>https://hao.websjy.com/post/490.html</link><description>&lt;p&gt;阿里ATH事业群重磅甩出了一张王牌。秒悟Meoo将复杂的全栈研发门槛彻底粉碎。敲入几句日常大白话，秒悟便会在眨眼间交付包含前端网页与底层数据库的完整在线项目。超过一万名大厂内部员工已经深度测试了秒悟的极致效能。秒悟彻底撕碎了创意落地的技术壁垒，直接开启了读秒级上线的全新纪元。&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;img class=&quot;ue-image&quot; src=&quot;https://hao.websjy.com/zb_users/upload/2026/04/202604171776412277139018.jpg&quot; title=&quot;ScreenShot_2026-04-17_155046_663.jpg&quot; alt=&quot;ScreenShot_2026-04-17_155046_663.jpg&quot;/&gt;&lt;/p&gt;&lt;h2&gt;&lt;em class=&quot;h2-index&quot;&gt;&lt;/em&gt;秒悟介绍&lt;/h2&gt;&lt;p&gt;阿里ATH事业群重磅甩出了一张王牌。秒悟Meoo将复杂的全栈研发门槛彻底粉碎。敲入几句日常大白话，秒悟便会在眨眼间交付包含前端网页与底层数据库的完整在线项目。超过一万名大厂内部员工已经深度测试了秒悟的极致效能。秒悟彻底撕碎了创意落地的技术壁垒，直接开启了读秒级上线的全新纪元。&lt;/p&gt;&lt;h2&gt;&lt;em class=&quot;h2-index&quot;&gt;&lt;/em&gt;秒悟需求人群&lt;/h2&gt;&lt;p&gt;非技术业务人员：涵盖财务、运营与产品等岗位，无需写一行代码即可光速上线促销页面。&lt;br/&gt; 独立创客与设计师：借助秒悟的蜂群协同处理能力，单枪匹马也能轻松干完整个技术团队的活儿。&lt;br/&gt; 团队项目管理者：非常适合需要多人同时在线修改、实时同步并统一管理版本进度的项目负责人。&lt;/p&gt;&lt;h2&gt;&lt;em class=&quot;h2-index&quot;&gt;&lt;/em&gt;秒悟主要功能&lt;/h2&gt;&lt;p&gt;对话极速建站：直接输入文字需求，秒悟最快在一分钟内交付前后端双端可运行的完整应用。&lt;br/&gt; 可视化精准编辑：圈选页面元素即可用人话下达修改指令，秒悟会自动修复底层代码实现无缝调整。&lt;br/&gt; 多模态技能市场：用户可以在秒悟平台自由调用、上传甚至下载各类封装好的专业自动化插件。&lt;br/&gt; 一键云端部署：应用生成后直接免除服务器配置烦恼，秒悟提供一键发布上线的云端原生服务。&lt;/p&gt;&lt;h2&gt;&lt;em class=&quot;h2-index&quot;&gt;&lt;/em&gt;秒悟产品特色&lt;/h2&gt;&lt;p&gt;顶尖模型矩阵：秒悟内核集成了多款国内最能打的头部大模型供用户随时无缝切换。&lt;br/&gt; 首创蜂群机制：秒悟允许多个智能体并行处理复杂逻辑，硬核提升应用的整体交付速度。&lt;br/&gt; 全栈闭环生态：自带底层数据库与存储服务，秒悟直接打通了从脑洞大开到产品落地的整条链路。&lt;br/&gt; 丝滑协作体验：秒悟打破了单机开发限制，让团队成员能像编辑在线文档一样丝滑共创项目。&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Fri, 17 Apr 2026 15:49:11 +0800</pubDate></item><item><title>声动视界</title><link>https://hao.websjy.com/post/489.html</link><description>&lt;p&gt;声动视界——跨境电商视频创作智能平台，提供一站式视频本地化解决方案。支持水印/字幕擦除、多语种翻译、AI语音合成、口型同步、视频换脸及大模型驱动创作，高效批量完成视频真人级配音、翻译、文本配音，轻松打造多语言带货视频、产品解说与选品素材，短剧擦除与字幕翻译更专业，让跨境视频创作简单高效！&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;img class=&quot;ue-image&quot; src=&quot;https://hao.websjy.com/zb_users/upload/2026/04/202604141776128634372834.jpg&quot; title=&quot;ScreenShot_2026-04-14_090339_696.jpg&quot; alt=&quot;ScreenShot_2026-04-14_090339_696.jpg&quot;/&gt;&lt;/p&gt;&lt;h1&gt;把你的短视频/短剧推向100+个国家&lt;/h1&gt;&lt;div data-v-6b038d68=&quot;&quot; class=&quot;video-desc lh-38px mt-12px mb-64px&quot;&gt;你所需要的每一种语言的视频，我们皆可提供。在SoundView，短短几分钟，便可以将你的视频批量无痕擦除原字幕、翻译成多种语言，投放到TikTok、YouTube各大海外平台。准确率高达95%，极富情感的配音，极速处理，是你内容出海的好帮手，广泛应用于跨境电商、短剧出海、教育出海等。&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;h1&gt;把旧的视频面向新的观众&lt;/h1&gt;&lt;p data-v-6b038d68=&quot;&quot; class=&quot;video-desc lh-38px mt-12px mb-64px&quot;&gt;企业宣传视频想要重新配音？没问题。SoundView涵盖字幕提取打轴生成、擦除、翻译、校对、配音、渲染等所有译制环节且全程在线处理，无需下载。编辑能力超强，支持后期精调，文稿能快速修改；音频字幕自动对齐；字幕和音频切分、拖拽都特方便；背景音分离和重配。同时全程支持中文对照，让跨语言视频重新配音既能看懂，又能做的快。&lt;/p&gt;&lt;p data-v-6b038d68=&quot;&quot; class=&quot;video-desc lh-38px mt-12px mb-64px&quot;&gt;&lt;br/&gt;&lt;/p&gt;&lt;h1&gt;丰富的场景化本土音色&lt;/h1&gt;&lt;div data-v-6b038d68=&quot;&quot; class=&quot;video-desc lh-38px mt-12px mb-64px&quot;&gt;我们围绕产品营销、企业宣传、内容创作等场景，构建了丰富的场景化本土音色库。无论是主流的英语、西班牙语、日语、法语、阿拉伯语等，还是东南亚越南语、印尼语、泰语、菲律宾语、马来语，亦或是挪威语、孟加拉语等冷门语言均完美呈现。 &lt;br data-v-6b038d68=&quot;&quot;/&gt;
 如果您是跨境电商，选择我们富有激情的带货腔音色，有效提升转化率；围绕品牌宣传，可以使用沉稳且富有张力的播音腔音色，强化品牌信任感；对于短剧解说用户，我们提供了通用的个性化音色；此外我们也会及时收录热门音色；当然您也可以克隆自己的音色，打造您独有的音色IP，让您的产品/服务具有声音的辨识度。&lt;/div&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Tue, 14 Apr 2026 08:58:29 +0800</pubDate></item><item><title>前端大屏适配方案：rem、vw/vh、scale 到底选哪个？</title><link>https://hao.websjy.com/post/488.html</link><description>&lt;p&gt;上周帮朋友救火一个数据大屏项目，甲方临时说要从 1920×1080 的投影换成 3840×1080 的超宽拼接屏。朋友用的是 &lt;code&gt;transform: scale&lt;/code&gt; 方案，结果两边各留了一大片黑边，甲方当场黑脸。&lt;/p&gt;&lt;p&gt;这事儿让我决定把大屏适配这个&amp;quot;老生常谈但总有人踩坑&amp;quot;的话题彻底讲清楚。&lt;/p&gt;&lt;h2 data-id=&quot;heading-0&quot; id=&quot;tid-pdyRde&quot;&gt;先说结论&lt;/h2&gt;&lt;p&gt;&lt;img class=&quot;ue-image&quot; src=&quot;https://hao.websjy.com/zb_users/upload/2026/04/202604091775721701658835.png&quot; title=&quot;2149129-20260403131547461-340748138.png&quot; alt=&quot;2149129-20260403131547461-340748138.png&quot;/&gt;&lt;/p&gt;&lt;p&gt;我的推荐：&amp;nbsp;如果是快速交付、比例固定，用 scale；如果是正经项目，用混合方案。别用纯 rem，性价比太低。&lt;/p&gt;&lt;h2 data-id=&quot;heading-1&quot; id=&quot;tid-kxixEZ&quot;&gt;方案一：scale（缩放大法）&lt;/h2&gt;&lt;p&gt;最简单的方案，核心思路是把整个页面当图片一样等比缩放。&lt;/p&gt;&lt;h3 data-id=&quot;heading-2&quot; id=&quot;tid-fA5CHx&quot;&gt;核心代码&lt;/h3&gt;&lt;pre class=&quot;prism-highlight prism-language-javascript&quot;&gt;function&amp;nbsp;setScale()&amp;nbsp;{
&amp;nbsp;&amp;nbsp;const&amp;nbsp;designWidth&amp;nbsp;=&amp;nbsp;1920
&amp;nbsp;&amp;nbsp;const&amp;nbsp;designHeight&amp;nbsp;=&amp;nbsp;1080
&amp;nbsp;&amp;nbsp;const&amp;nbsp;wRatio&amp;nbsp;=&amp;nbsp;window.innerWidth&amp;nbsp;/&amp;nbsp;designWidth
&amp;nbsp;&amp;nbsp;const&amp;nbsp;hRatio&amp;nbsp;=&amp;nbsp;window.innerHeight&amp;nbsp;/&amp;nbsp;designHeight
&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;//&amp;nbsp;取较小值，保证内容完整显示
&amp;nbsp;&amp;nbsp;const&amp;nbsp;ratio&amp;nbsp;=&amp;nbsp;Math.min(wRatio,&amp;nbsp;hRatio)
&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;const&amp;nbsp;container&amp;nbsp;=&amp;nbsp;document.getElementById(&amp;#39;app&amp;#39;)
&amp;nbsp;&amp;nbsp;container.style.width&amp;nbsp;=&amp;nbsp;designWidth&amp;nbsp;+&amp;nbsp;&amp;#39;px&amp;#39;
&amp;nbsp;&amp;nbsp;container.style.height&amp;nbsp;=&amp;nbsp;designHeight&amp;nbsp;+&amp;nbsp;&amp;#39;px&amp;#39;
&amp;nbsp;&amp;nbsp;container.style.transform&amp;nbsp;=&amp;nbsp;`scale(${ratio})`
&amp;nbsp;&amp;nbsp;container.style.transformOrigin&amp;nbsp;=&amp;nbsp;&amp;#39;left&amp;nbsp;top&amp;#39;
&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;//&amp;nbsp;居中处理
&amp;nbsp;&amp;nbsp;const&amp;nbsp;marginLeft&amp;nbsp;=&amp;nbsp;(window.innerWidth&amp;nbsp;-&amp;nbsp;designWidth&amp;nbsp;*&amp;nbsp;ratio)&amp;nbsp;/&amp;nbsp;2
&amp;nbsp;&amp;nbsp;const&amp;nbsp;marginTop&amp;nbsp;=&amp;nbsp;(window.innerHeight&amp;nbsp;-&amp;nbsp;designHeight&amp;nbsp;*&amp;nbsp;ratio)&amp;nbsp;/&amp;nbsp;2
&amp;nbsp;&amp;nbsp;container.style.marginLeft&amp;nbsp;=&amp;nbsp;marginLeft&amp;nbsp;+&amp;nbsp;&amp;#39;px&amp;#39;
&amp;nbsp;&amp;nbsp;container.style.marginTop&amp;nbsp;=&amp;nbsp;marginTop&amp;nbsp;+&amp;nbsp;&amp;#39;px&amp;#39;
}
window.addEventListener(&amp;#39;resize&amp;#39;,&amp;nbsp;setScale)
setScale()&lt;/pre&gt;&lt;h3 data-id=&quot;heading-3&quot; id=&quot;tid-pBApWj&quot;&gt;优点&lt;/h3&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;开发成本极低&lt;/strong&gt;：所有尺寸按设计稿 1:1 写 px，不用任何换算&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;还原度高&lt;/strong&gt;：等比缩放，设计稿怎么画就怎么写&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;兼容性好&lt;/strong&gt;：&lt;code&gt;transform&lt;/code&gt; 兼容性没问题&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3 data-id=&quot;heading-4&quot; id=&quot;tid-FwbxAm&quot;&gt;踩坑记录&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;坑 1：字体模糊。&lt;/strong&gt; 缩放比例不是整数时（比如 0.833），浏览器在亚像素渲染时会导致文字发虚。解决办法是给文字容器单独设置 &lt;code&gt;will-change: transform&lt;/code&gt; 或者用 &lt;code&gt;-webkit-font-smoothing: antialiased&lt;/code&gt;，但只能缓解，不能根治。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;坑 2：鼠标坐标偏移。&lt;/strong&gt; scale 缩放后，DOM 元素的实际位置和视觉位置不一致。如果大屏上有 tooltip、弹窗、拖拽等交互，鼠标位置会对不上。这个问题在 ECharts 的 tooltip 上尤为明显。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;坑 3：超宽屏留白。&lt;/strong&gt; 就像我朋友遇到的情况，16:9 的设计稿放到 32:9 的拼接屏上，两边各空一大块。你可以选择拉伸（&lt;code&gt;Math.max&lt;/code&gt;），但内容会变形。&lt;/p&gt;&lt;h3 data-id=&quot;heading-5&quot; id=&quot;tid-Md6xKR&quot;&gt;适用场景&lt;/h3&gt;&lt;p&gt;固定比例的纯展示大屏，没有复杂交互，交付时间紧。&lt;strong&gt;注意：这是个快餐方案，别当正餐吃。&lt;/strong&gt;&lt;/p&gt;&lt;h2 data-id=&quot;heading-6&quot; id=&quot;tid-maPt4i&quot;&gt;方案二：vw/vh（视口单位）&lt;/h2&gt;&lt;p&gt;vw/vh 是 CSS3 的视口单位，1vw = 视口宽度的 1%，1vh = 视口高度的 1%。&lt;/p&gt;&lt;h3 data-id=&quot;heading-7&quot; id=&quot;tid-2WWdSa&quot;&gt;核心实现&lt;/h3&gt;&lt;p&gt;用 SCSS 封装转换函数：&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-css&quot;&gt;@use&amp;nbsp;&amp;quot;sass:math&amp;quot;;
$designWidth:&amp;nbsp;1920;
$designHeight:&amp;nbsp;1080;
@function&amp;nbsp;vw($px)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;@return&amp;nbsp;math.div($px,&amp;nbsp;$designWidth)&amp;nbsp;*&amp;nbsp;100vw;
}
@function&amp;nbsp;vh($px)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;@return&amp;nbsp;math.div($px,&amp;nbsp;$designHeight)&amp;nbsp;*&amp;nbsp;100vh;
}&lt;/pre&gt;&lt;p&gt;使用：&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-css&quot;&gt;.dashboard-card&amp;nbsp;{
&amp;nbsp;&amp;nbsp;width:&amp;nbsp;vw(460);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;460&amp;nbsp;/&amp;nbsp;1920&amp;nbsp;*&amp;nbsp;100vw
&amp;nbsp;&amp;nbsp;height:&amp;nbsp;vh(320);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;320&amp;nbsp;/&amp;nbsp;1080&amp;nbsp;*&amp;nbsp;100vh
&amp;nbsp;&amp;nbsp;padding:&amp;nbsp;vh(20)&amp;nbsp;vw(24);
&amp;nbsp;&amp;nbsp;font-size:&amp;nbsp;vw(14);&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;字体也用&amp;nbsp;vw
&amp;nbsp;&amp;nbsp;border-radius:&amp;nbsp;vw(8);
}&lt;/pre&gt;&lt;h3 data-id=&quot;heading-8&quot; id=&quot;tid-Pdtynr&quot;&gt;优点&lt;/h3&gt;&lt;ul class=&quot; list-paddingleft-2&quot;&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;真正的流式适配&lt;/strong&gt;：内容会铺满整个屏幕，不会留白&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;无缩放副作用&lt;/strong&gt;：没有 scale 带来的模糊和坐标偏移问题&lt;/p&gt;&lt;/li&gt;&lt;li&gt;&lt;p&gt;&lt;strong&gt;响应式&lt;/strong&gt;：宽高独立计算，不同比例的屏幕都能适配&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h3 data-id=&quot;heading-9&quot; id=&quot;tid-5KfwYa&quot;&gt;踩坑记录&lt;/h3&gt;&lt;p&gt;&lt;strong&gt;坑 1：ECharts 不认 vw。&lt;/strong&gt; ECharts 的 fontSize、padding 等配置只接受 px 数值。你需要一个 JS 转换函数：&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-javascript&quot;&gt;export&amp;nbsp;function&amp;nbsp;fitChartSize(px,&amp;nbsp;base&amp;nbsp;=&amp;nbsp;1920)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;const&amp;nbsp;clientWidth&amp;nbsp;=&amp;nbsp;document.documentElement.clientWidth
&amp;nbsp;&amp;nbsp;return&amp;nbsp;Number((px&amp;nbsp;*&amp;nbsp;clientWidth&amp;nbsp;/&amp;nbsp;base).toFixed(3))
}
//&amp;nbsp;使用
option&amp;nbsp;=&amp;nbsp;{
&amp;nbsp;&amp;nbsp;title:&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;textStyle:&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;fontSize:&amp;nbsp;fitChartSize(18)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;},
&amp;nbsp;&amp;nbsp;grid:&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;left:&amp;nbsp;fitChartSize(60),
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;right:&amp;nbsp;fitChartSize(20)
&amp;nbsp;&amp;nbsp;}
}&lt;/pre&gt;&lt;p&gt;而且窗口 resize 后，ECharts 需要重新 setOption 才能更新字体大小，光调 &lt;code&gt;chart.resize()&lt;/code&gt; 不够。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;坑 2：极端比例下内容挤压。&lt;/strong&gt; 如果屏幕是 1080×1920（竖屏），用 vw 计算出的宽度值会变得很小，内容会严重挤压。需要加最小宽度兜底。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;坑 3：开发体验一般。&lt;/strong&gt; 所有数值都得过一遍转换函数，写起来不如直接写 px 顺手。可以用 PostCSS 插件（如 &lt;code&gt;postcss-px-to-viewport&lt;/code&gt;）自动转换来缓解。&lt;/p&gt;&lt;h3 data-id=&quot;heading-10&quot; id=&quot;tid-DrTpCK&quot;&gt;适用场景&lt;/h3&gt;&lt;p&gt;需要适配多种比例的全屏大屏，希望内容始终铺满，没有留白。&lt;/p&gt;&lt;h2 data-id=&quot;heading-11&quot; id=&quot;tid-445DpN&quot;&gt;方案三：rem（根字体缩放）&lt;/h2&gt;&lt;p&gt;rem 的原理是通过动态修改 &lt;code&gt;html&lt;/code&gt; 的 &lt;code&gt;font-size&lt;/code&gt; 来实现全局缩放。&lt;/p&gt;&lt;h3 data-id=&quot;heading-12&quot; id=&quot;tid-GSs3wt&quot;&gt;核心实现&lt;/h3&gt;&lt;pre class=&quot;prism-highlight prism-language-javascript&quot;&gt;//&amp;nbsp;flexible.js
const&amp;nbsp;BASE_WIDTH&amp;nbsp;=&amp;nbsp;1920
const&amp;nbsp;BASE_HEIGHT&amp;nbsp;=&amp;nbsp;1080
const&amp;nbsp;BASE_FONT_SIZE&amp;nbsp;=&amp;nbsp;16
function&amp;nbsp;updateRootFontSize()&amp;nbsp;{
&amp;nbsp;&amp;nbsp;const&amp;nbsp;{&amp;nbsp;clientWidth,&amp;nbsp;clientHeight&amp;nbsp;}&amp;nbsp;=&amp;nbsp;document.documentElement
&amp;nbsp;&amp;nbsp;//&amp;nbsp;宽高比判断，取较小缩放比
&amp;nbsp;&amp;nbsp;const&amp;nbsp;ratio&amp;nbsp;=&amp;nbsp;clientWidth&amp;nbsp;/&amp;nbsp;clientHeight&amp;nbsp;&amp;gt;&amp;nbsp;BASE_WIDTH&amp;nbsp;/&amp;nbsp;BASE_HEIGHT
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;?&amp;nbsp;clientHeight&amp;nbsp;/&amp;nbsp;BASE_HEIGHT
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;:&amp;nbsp;clientWidth&amp;nbsp;/&amp;nbsp;BASE_WIDTH
&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;document.documentElement.style.fontSize&amp;nbsp;=&amp;nbsp;`${ratio&amp;nbsp;*&amp;nbsp;BASE_FONT_SIZE}px`
}
updateRootFontSize()
window.addEventListener(&amp;#39;resize&amp;#39;,&amp;nbsp;updateRootFontSize)&lt;/pre&gt;&lt;p&gt;配合&amp;nbsp;&lt;code&gt;postcss-pxtorem&lt;/code&gt;&amp;nbsp;自动将 px 转为 rem：&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-javascript&quot;&gt;//&amp;nbsp;postcss.config.js
module.exports&amp;nbsp;=&amp;nbsp;{
&amp;nbsp;&amp;nbsp;plugins:&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;#39;postcss-pxtorem&amp;#39;:&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;rootValue:&amp;nbsp;16,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;propList:&amp;nbsp;[&amp;#39;*&amp;#39;],
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;minPixelValue:&amp;nbsp;2
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;}
}&lt;/pre&gt;&lt;h3 data-id=&quot;heading-13&quot; id=&quot;tid-WQx7bG&quot;&gt;我的看法&lt;/h3&gt;&lt;p&gt;说实话，rem 方案在大屏场景下有点&lt;strong&gt;过度设计&lt;/strong&gt;。它的本质是：动态 font-size + rem 单位 → 等比缩放。最终效果跟 scale 差不多——都是等比缩放，不同比例的屏幕依然会留白。&lt;/p&gt;&lt;p&gt;但它比 scale 多了一堆配置（PostCSS 插件、flexible 脚本、rootValue 计算），开发体验并没有提升。rem 在移动端是经典方案，但在大屏场景，我觉得不如 scale 简单或 vw/vh 灵活。&lt;/p&gt;&lt;h2 data-id=&quot;heading-14&quot; id=&quot;tid-45NSZi&quot;&gt;方案四：混合方案（我的推荐）&lt;/h2&gt;&lt;p&gt;实际项目中，我一般用混合方案：&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-markup&quot;&gt;布局容器&amp;nbsp;→&amp;nbsp;vw/vh（铺满屏幕）
组件内部&amp;nbsp;→&amp;nbsp;rem&amp;nbsp;或&amp;nbsp;px（保持组件独立性）&amp;nbsp;&amp;nbsp;
ECharts&amp;nbsp;等第三方库&amp;nbsp;→&amp;nbsp;JS&amp;nbsp;动态计算&amp;nbsp;px
极端比例兜底&amp;nbsp;→&amp;nbsp;CSS&amp;nbsp;clamp()&amp;nbsp;+&amp;nbsp;最小宽度&lt;/pre&gt;&lt;h3 data-id=&quot;heading-15&quot; id=&quot;tid-spEJ7P&quot;&gt;架构设计&lt;/h3&gt;&lt;pre class=&quot;prism-highlight prism-language-markup&quot;&gt;┌─────────────────────────────────────────┐
│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;浏览器视口&amp;nbsp;(100vw&amp;nbsp;×&amp;nbsp;100vh)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│
│&amp;nbsp;&amp;nbsp;┌──────────┐&amp;nbsp;&amp;nbsp;┌──────────────────────┐&amp;nbsp;│
│&amp;nbsp;&amp;nbsp;│&amp;nbsp;&amp;nbsp;左侧栏&amp;nbsp;&amp;nbsp;&amp;nbsp;│&amp;nbsp;&amp;nbsp;│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;主内容区&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│&amp;nbsp;│
│&amp;nbsp;&amp;nbsp;│&amp;nbsp;w:&amp;nbsp;20vw&amp;nbsp;&amp;nbsp;│&amp;nbsp;&amp;nbsp;│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;w:&amp;nbsp;80vw&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│&amp;nbsp;│
│&amp;nbsp;&amp;nbsp;│&amp;nbsp;h:&amp;nbsp;100vh&amp;nbsp;│&amp;nbsp;&amp;nbsp;│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;h:&amp;nbsp;100vh&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│&amp;nbsp;│
│&amp;nbsp;&amp;nbsp;│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│&amp;nbsp;&amp;nbsp;│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│&amp;nbsp;│
│&amp;nbsp;&amp;nbsp;│&amp;nbsp;内部组件&amp;nbsp;&amp;nbsp;│&amp;nbsp;&amp;nbsp;│&amp;nbsp;&amp;nbsp;┌────────────────┐&amp;nbsp;&amp;nbsp;│&amp;nbsp;│
│&amp;nbsp;&amp;nbsp;│&amp;nbsp;用&amp;nbsp;rem&amp;nbsp;&amp;nbsp;&amp;nbsp;│&amp;nbsp;&amp;nbsp;│&amp;nbsp;&amp;nbsp;│&amp;nbsp;&amp;nbsp;ECharts&amp;nbsp;图表&amp;nbsp;&amp;nbsp;&amp;nbsp;│&amp;nbsp;&amp;nbsp;│&amp;nbsp;│
│&amp;nbsp;&amp;nbsp;│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│&amp;nbsp;&amp;nbsp;│&amp;nbsp;&amp;nbsp;│&amp;nbsp;&amp;nbsp;JS&amp;nbsp;计算&amp;nbsp;px&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│&amp;nbsp;&amp;nbsp;│&amp;nbsp;│
│&amp;nbsp;&amp;nbsp;│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;│&amp;nbsp;&amp;nbsp;│&amp;nbsp;&amp;nbsp;└────────────────┘&amp;nbsp;&amp;nbsp;│&amp;nbsp;│
│&amp;nbsp;&amp;nbsp;└──────────┘&amp;nbsp;&amp;nbsp;└──────────────────────┘&amp;nbsp;│
└─────────────────────────────────────────┘&lt;/pre&gt;&lt;h3 data-id=&quot;heading-16&quot; id=&quot;tid-Xk8nWS&quot;&gt;关键代码&lt;/h3&gt;&lt;p&gt;1. 布局层用 vw/vh：&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-css&quot;&gt;.layout-left&amp;nbsp;{
&amp;nbsp;&amp;nbsp;width:&amp;nbsp;20vw;
&amp;nbsp;&amp;nbsp;height:&amp;nbsp;100vh;
}
.layout-main&amp;nbsp;{
&amp;nbsp;&amp;nbsp;width:&amp;nbsp;80vw;
&amp;nbsp;&amp;nbsp;height:&amp;nbsp;100vh;
}&lt;/pre&gt;&lt;p&gt;2. 组件内用 CSS clamp() 做弹性字体：&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-css&quot;&gt;.card-title&amp;nbsp;{
&amp;nbsp;&amp;nbsp;//&amp;nbsp;最小&amp;nbsp;12px，理想&amp;nbsp;1vw，最大&amp;nbsp;24px
&amp;nbsp;&amp;nbsp;font-size:&amp;nbsp;clamp(12px,&amp;nbsp;1vw,&amp;nbsp;24px);
}
.card-value&amp;nbsp;{
&amp;nbsp;&amp;nbsp;font-size:&amp;nbsp;clamp(24px,&amp;nbsp;2.5vw,&amp;nbsp;56px);
&amp;nbsp;&amp;nbsp;font-weight:&amp;nbsp;bold;
}&lt;/pre&gt;&lt;p&gt;&lt;code&gt;clamp()&lt;/code&gt;&amp;nbsp;是个被低估的 CSS 函数，它让字体在合理范围内自适应，不会在超大屏上变成巨型字、也不会在小屏上小到看不清。&lt;/p&gt;&lt;p&gt;3. ECharts 封装自适应 hook（Vue 3）：&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-javascript&quot;&gt;//&amp;nbsp;useChartResize.ts
import&amp;nbsp;{&amp;nbsp;onMounted,&amp;nbsp;onUnmounted,&amp;nbsp;ref&amp;nbsp;}&amp;nbsp;from&amp;nbsp;&amp;#39;vue&amp;#39;
import&amp;nbsp;*&amp;nbsp;as&amp;nbsp;echarts&amp;nbsp;from&amp;nbsp;&amp;#39;echarts&amp;#39;
export&amp;nbsp;function&amp;nbsp;useChartResize(chartRef:&amp;nbsp;Ref&amp;lt;HTMLElement&amp;nbsp;|&amp;nbsp;null&amp;gt;)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;let&amp;nbsp;chart:&amp;nbsp;echarts.ECharts&amp;nbsp;|&amp;nbsp;null&amp;nbsp;=&amp;nbsp;null
&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;const&amp;nbsp;fitSize&amp;nbsp;=&amp;nbsp;(px:&amp;nbsp;number,&amp;nbsp;base&amp;nbsp;=&amp;nbsp;1920)&amp;nbsp;=&amp;gt;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;const&amp;nbsp;width&amp;nbsp;=&amp;nbsp;document.documentElement.clientWidth
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return&amp;nbsp;Math.round(px&amp;nbsp;*&amp;nbsp;width&amp;nbsp;/&amp;nbsp;base)
&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;const&amp;nbsp;handleResize&amp;nbsp;=&amp;nbsp;()&amp;nbsp;=&amp;gt;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(chart)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;chart.resize()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;nbsp;重要：resize&amp;nbsp;后要重新设置包含字体大小的&amp;nbsp;option
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;onMounted(()&amp;nbsp;=&amp;gt;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(chartRef.value)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;chart&amp;nbsp;=&amp;nbsp;echarts.init(chartRef.value)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;window.addEventListener(&amp;#39;resize&amp;#39;,&amp;nbsp;handleResize)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;})
&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;onUnmounted(()&amp;nbsp;=&amp;gt;&amp;nbsp;{
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;window.removeEventListener(&amp;#39;resize&amp;#39;,&amp;nbsp;handleResize)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;chart?.dispose()
&amp;nbsp;&amp;nbsp;})
&amp;nbsp;&amp;nbsp;&amp;nbsp;
&amp;nbsp;&amp;nbsp;return&amp;nbsp;{&amp;nbsp;chart,&amp;nbsp;fitSize&amp;nbsp;}
}&lt;/pre&gt;&lt;p&gt;4. 极端比例兜底：&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-css&quot;&gt;#app&amp;nbsp;{
&amp;nbsp;&amp;nbsp;min-width:&amp;nbsp;1024px;
&amp;nbsp;&amp;nbsp;min-height:&amp;nbsp;600px;
&amp;nbsp;&amp;nbsp;overflow:&amp;nbsp;auto;&amp;nbsp;&amp;nbsp;/*&amp;nbsp;实在太小就出滚动条&amp;nbsp;*/
}&lt;/pre&gt;&lt;h2 data-id=&quot;heading-17&quot; id=&quot;tid-7AR6BS&quot;&gt;2026 年的新选择：CSS Container Queries&lt;/h2&gt;&lt;p&gt;这里补充一个很多大屏适配文章没提到的新玩意儿——&lt;strong&gt;容器查询（Container Queries）&lt;/strong&gt; 。&lt;/p&gt;&lt;p&gt;传统的媒体查询（Media Queries）基于视口尺寸，而容器查询基于&lt;strong&gt;父容器尺寸&lt;/strong&gt;。这意味着组件可以根据自己所在区域的大小来调整样式，而不是根据整个屏幕。&lt;/p&gt;&lt;pre class=&quot;prism-highlight prism-language-css&quot;&gt;.chart-wrapper&amp;nbsp;{
&amp;nbsp;&amp;nbsp;container-type:&amp;nbsp;inline-size;
&amp;nbsp;&amp;nbsp;container-name:&amp;nbsp;chart;
}
@container&amp;nbsp;chart&amp;nbsp;(min-width:&amp;nbsp;600px)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;.chart-title&amp;nbsp;{&amp;nbsp;font-size:&amp;nbsp;18px;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;.chart-legend&amp;nbsp;{&amp;nbsp;display:&amp;nbsp;flex;&amp;nbsp;}
}
@container&amp;nbsp;chart&amp;nbsp;(max-width:&amp;nbsp;599px)&amp;nbsp;{
&amp;nbsp;&amp;nbsp;.chart-title&amp;nbsp;{&amp;nbsp;font-size:&amp;nbsp;14px;&amp;nbsp;}
&amp;nbsp;&amp;nbsp;.chart-legend&amp;nbsp;{&amp;nbsp;display:&amp;nbsp;none;&amp;nbsp;}
}&lt;/pre&gt;&lt;p&gt;截至 2026 年初，主流浏览器（Chrome 105+、Firefox 110+、Safari 16+）都已支持容器查询。在大屏项目中，特别是一个组件可能出现在不同大小区域的场景下，容器查询比媒体查询好用得多。&lt;/p&gt;&lt;p&gt;不过要注意，容器查询解决的是&lt;strong&gt;组件级响应式&lt;/strong&gt;，不能替代全局的适配方案。它更适合作为混合方案中的一环。&lt;/p&gt;&lt;h2 data-id=&quot;heading-18&quot; id=&quot;tid-88A2Y3&quot;&gt;实战选型决策树&lt;/h2&gt;&lt;pre class=&quot;prism-highlight prism-language-markup&quot;&gt;你的大屏需要适配多种比例吗？
├──&amp;nbsp;不需要（固定&amp;nbsp;16:9）
│&amp;nbsp;&amp;nbsp;&amp;nbsp;└──&amp;nbsp;有复杂交互吗？
│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;├──&amp;nbsp;没有&amp;nbsp;→&amp;nbsp;scale&amp;nbsp;✅&amp;nbsp;快速搞定
│&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;└──&amp;nbsp;有&amp;nbsp;→&amp;nbsp;vw/vh&amp;nbsp;+&amp;nbsp;JS&amp;nbsp;图表适配
└──&amp;nbsp;需要（多种屏幕）
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;└──&amp;nbsp;混合方案&amp;nbsp;✅
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;├──&amp;nbsp;布局：vw/vh
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;├──&amp;nbsp;字体：clamp()
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;├──&amp;nbsp;图表：JS&amp;nbsp;动态计算
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;└──&amp;nbsp;组件：Container&amp;nbsp;Queries&lt;/pre&gt;&lt;div&gt;&lt;h2 data-id=&quot;heading-19&quot; id=&quot;tid-sZyQ8M&quot;&gt;常见 FAQ&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;Q：大屏一般用什么设计稿尺寸？&lt;/strong&gt; A：1920×1080 最常见。如果是 4K 屏，设计稿按 3840×2160 出，但开发时可以按 1920×1080 写，浏览器会自动处理设备像素比。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Q：scale 方案字体模糊怎么办？&lt;/strong&gt; A：没有完美解决方案。可以尝试 &lt;code&gt;will-change: transform&lt;/code&gt;、&lt;code&gt;-webkit-font-smoothing: antialiased&lt;/code&gt;、设置较大基础字号然后缩小（而不是小字号放大）。实在不行就换 vw/vh 方案。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Q：ECharts 图表在 resize 后字体没变怎么办？&lt;/strong&gt; A：&lt;code&gt;chart.resize()&lt;/code&gt; 只更新画布尺寸，不会重新计算 option 中的固定 px 值。你需要在 resize 时重新调用 &lt;code&gt;setOption&lt;/code&gt;，将 fontSize 等值用 JS 函数动态计算。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Q：大屏需要适配移动端吗？&lt;/strong&gt; A：一般不需要。大屏就是大屏，手机打开看的场景极少。如果甲方非要，建议做两套页面，用媒体查询切换，而不是一套代码适配所有。&lt;/p&gt;&lt;h2 data-id=&quot;heading-20&quot; id=&quot;tid-2dZSEk&quot;&gt;总结&lt;/h2&gt;&lt;p&gt;大屏适配没有银弹。scale 最简单但最受限，vw/vh 最灵活但开发成本高，rem 两头不靠。生产项目推荐混合方案，把每种技术用在它最擅长的地方。&lt;/p&gt;&lt;p&gt;最重要的是：&lt;strong&gt;开工前跟甲方确认好所有要投放的屏幕尺寸和比例。&lt;/strong&gt; 很多适配问题不是技术问题，是需求沟通问题。&lt;/p&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;h3 id=&quot;tid-D8HBxE&quot;&gt;如果对您有所帮助，欢迎您点个关注，我会定时更新技术文档，大家一起讨论学习，一起进步。&lt;/h3&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Thu, 09 Apr 2026 16:00:47 +0800</pubDate></item><item><title>云影视点</title><link>https://hao.websjy.com/post/487.html</link><description>&lt;p class=&quot;p1&quot; style=&quot;margin-top: 0px; margin-bottom: 0px; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-size-adjust: none; font-kerning: auto; font-optical-sizing: auto; font-feature-settings: normal; font-variation-settings: normal; font-variant-position: normal; font-variant-emoji: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: &amp;quot;PingFang TC&amp;quot;; text-wrap-mode: wrap;&quot;&gt;&lt;span style=&quot;font-size: 16px;&quot;&gt;云影视点致力于搜集全网最新、最热的电影与电视剧资源，为广大影迷提供完全免费、无广告的在线观看服务。我们及时收录高清大片，让您轻松畅享极致的观影体验。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Wed, 08 Apr 2026 12:49:38 +0800</pubDate></item><item><title>乐看之家</title><link>https://hao.websjy.com/post/486.html</link><description>&lt;p class=&quot;p1&quot; style=&quot;margin-top: 0px; margin-bottom: 0px; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-size-adjust: none; font-kerning: auto; font-optical-sizing: auto; font-feature-settings: normal; font-variation-settings: normal; font-variant-position: normal; font-variant-emoji: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: &amp;quot;PingFang TC&amp;quot;; text-wrap-mode: wrap;&quot;&gt;乐看之家致力于搜集全网最新、最热的电影与电视剧资源，为广大影迷提供完全免费、无广告的在线观看服务。我们及时收录高清大片，让您轻松畅享极致的观影体验。&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Wed, 08 Apr 2026 12:45:13 +0800</pubDate></item><item><title>光影剧</title><link>https://hao.websjy.com/post/485.html</link><description>&lt;p class=&quot;p1&quot; style=&quot;margin-top: 0px; margin-bottom: 0px; font-variant-numeric: normal; font-variant-east-asian: normal; font-variant-alternates: normal; font-size-adjust: none; font-kerning: auto; font-optical-sizing: auto; font-feature-settings: normal; font-variation-settings: normal; font-variant-position: normal; font-variant-emoji: normal; font-stretch: normal; font-size: 12px; line-height: normal; font-family: &amp;quot;PingFang TC&amp;quot;; text-wrap-mode: wrap;&quot;&gt;欢迎来到您的私人免费在线影院。我们提供海量高清电影、电视剧、综艺、动漫及短剧资源，全部支持免费在线观看。享受无广告、高清流畅的极致观影体验，每日同步更新，是您网络追剧的不二之选&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;</description><pubDate>Wed, 08 Apr 2026 12:42:27 +0800</pubDate></item><item><title>十八码(18码)</title><link>https://hao.websjy.com/post/483.html</link><description>&lt;p&gt;十八码（18码）是苹果cms模板插件开发下载、苹果cms使用经验交流，dplayer播放器、弹幕播放器、videojs等M3U8播放器和web播放器二次开发整合以及建站前端开发技术交流源码分享的综合社区，欢迎您的来访与我们一起交流学习进步！&lt;a href=&quot;https://www.yemu.xyz/&quot; target=&quot;_blank&quot; title=&quot;夜幕解析&quot;&gt;夜幕解析&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;img class=&quot;ue-image&quot; src=&quot;https://hao.websjy.com/zb_users/upload/2026/04/202604061775480680470608.jpg&quot; title=&quot;ScreenShot_2026-04-06_210427_552.jpg&quot; alt=&quot;ScreenShot_2026-04-06_210427_552.jpg&quot;/&gt;&lt;/p&gt;</description><pubDate>Mon, 06 Apr 2026 21:00:51 +0800</pubDate></item><item><title>上首造字</title><link>https://hao.websjy.com/post/482.html</link><description>&lt;p&gt;&lt;span id=&quot;line15&quot;&gt;&lt;a class=&quot;attribute-value&quot;&gt;上首造字（ssfonts.com)是一家原创字库设计公司，可提供字体商用授权，字体免费下载，个性化字体定制，字体打包下载，秉持&lt;span class=&quot;entity&quot;&gt;&amp;amp;ldquo;&lt;/span&gt;上首，为品牌造字&lt;span class=&quot;entity&quot;&gt;&amp;amp;rdquo;&lt;/span&gt;的理念，让更多人用的起商用正版字体。&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;p&gt;&lt;img class=&quot;ue-image&quot; src=&quot;https://hao.websjy.com/zb_users/upload/2026/04/202604041775310173911923.jpg&quot; title=&quot;ScreenShot_2026-04-04_214234_258.jpg&quot; alt=&quot;ScreenShot_2026-04-04_214234_258.jpg&quot;/&gt;&lt;/p&gt;</description><pubDate>Sat, 04 Apr 2026 21:39:27 +0800</pubDate></item></channel></rss>