From b0b9c6d5a0a5555a78c572edf94628c8388a8168 Mon Sep 17 00:00:00 2001 From: bigcode Date: Sun, 1 Nov 2026 10:52:39 +0800 Subject: [PATCH] =?UTF-8?q?v0.10.10=20=E9=A6=96=E9=A1=B5=20H10=20Smart=20A?= =?UTF-8?q?partment=20Gateway=20=E8=A7=84=E5=88=92=E6=A8=A1=E5=9D=97(html?= =?UTF-8?q?=20=E8=87=AA=E5=8C=85=E5=90=AB=E6=A8=A1=E5=9D=97)1:1:html=20wid?= =?UTF-8?q?get=20localSiteUrl/=E5=8E=BB=E5=86=85=E5=B1=82=20mb;=E5=85=A8?= =?UTF-8?q?=E5=B1=80=E8=A1=A5=20Elementor=20figure=20margin=200=20?= =?UTF-8?q?=E4=B8=8E=20kit=20=E6=A0=87=E9=A2=98=E6=8E=92=E7=89=88(Roboto?= =?UTF-8?q?=20600/h2=2038px);sec=20h=20674.8=20=E4=B8=8E=E5=8E=9F=E7=AB=99?= =?UTF-8?q?=E5=85=A8=E7=AD=89,H2/H9=20=E5=9B=9E=E5=BD=92=E9=9B=B6=E5=B7=AE?= =?UTF-8?q?=E5=BC=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/sections-inventory.md | 2 +- package.json | 2 +- src/components/elementor/Renderer.tsx | 4 +++- src/styles/app.css | 11 +++++++++++ 4 files changed, 16 insertions(+), 3 deletions(-) diff --git a/docs/sections-inventory.md b/docs/sections-inventory.md index 92bc05fa4..bb1dca500 100644 --- a/docs/sections-inventory.md +++ b/docs/sections-inventory.md @@ -43,7 +43,7 @@ | H7 | OS/芯片平台/语言/协议 四列 | heading ×4 图标列 | ✅ v0.10.8(外卡 66de90a 渐变+边框+圆角 8/16/16/0、四列 335.5 虚线分隔、_element_width:auto 图标横排 4+3 换行、el-w-auto 双层类修复 width:100% 强推回归) | | H8 | 热门嵌入式硬件 标题 | heading(Popular Embedded Hardware Products…) | ✅ v0.10.9(heading 40px/600/#000/行高 1 居中 x38/w1360;section 7df0244 gap=no→列 0px、margin-top 4%=57.4375px、bg #F4F5F8、padding 64px 0——section 级 margin/gap 渲染支持随此版块落地,slim 白名单补 gap) | | H9 | 热门硬件切换器(tabs) | Elementor 原生 tabs widget ×6 标签(内容为自包含 HTML 卡片网格) | ✅ v0.10.9(TabsWidget 忠实 DOM+React 点击切换/aria;widget-tabs.min.css 基础块+fd97340 生成规则(border_width=0 含伪元素)+custom_css(.ele-soms-chip-dif 边框/内容覆盖)三层取证;全局修正 body 行高为无单位 1.5、补 kit 链接字体 Roboto(卡片 经 .elementor-kit-15 a 规则用 Roboto,否则 Arial 截断致规格多折一行);实测仅 0.8px 页级漂移) | -| H10 | 技术产品 Tab 行 ×3 | heading+image+image-box ×4+button(三段 Tab 面板) | ⬜ | +| H10 | Smart Apartment Gateway 规划模块 | html widget(17.9KB 自包含 HTML+CSS,无 JS) | ✅ v0.10.10(html widget 路径补 localSiteUrl 媒体改写、去掉内层 mb;补 Elementor 全局 figure margin 0(text-editor 例外)与 kit 标题排版(.elementor-kit-15 h1..h6 → Roboto 600/500,h2 38px)——H10 h2 由 kit Roboto 渲染换行点才与原站一致;sec h 674.8 与原站全等,3 图全载 | | H11 | Industries & Use Cases | heading + eael-adv-tabs + button(多标签竖排) | ⬜ | | H12 | The Difference Maker 段一 | heading+text+icon-list+text+button(左侧列表优势) | ⬜ | | H13 | Difference Maker 产品卡 ×6 | image-box ×6 | ⬜ | diff --git a/package.json b/package.json index e23777b9f..242bc6bcb 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "dusuniot-rebuild", - "version": "0.10.9", + "version": "0.10.10", "private": true, "type": "module", "scripts": { diff --git a/src/components/elementor/Renderer.tsx b/src/components/elementor/Renderer.tsx index 451e1efe2..be7554a06 100644 --- a/src/components/elementor/Renderer.tsx +++ b/src/components/elementor/Renderer.tsx @@ -484,8 +484,10 @@ function WidgetNodeInner({ el }: { el: ElElement }) { case "button": return ; case "html": + // 间距交由 kit-spacing 列规则(.el-col > div > [data-el]),内层不再加 mb; + // 媒体地址经 localSiteUrl 改写为本地 /uploads(原站绝对地址 → 本地) return s(settings.html) ? ( -
+
) : null; case "image-box": return ; diff --git a/src/styles/app.css b/src/styles/app.css index 61345a6a4..dfc9224ab 100644 --- a/src/styles/app.css +++ b/src/styles/app.css @@ -86,6 +86,13 @@ @layer components { /* ===== 内容排版(Elementor / 正文 HTML,数据库导入内容) ===== */ + /* kit 标题排版(post-15.css .elementor-kit-15 h1..h6):标题族一律 Roboto + * (h1/h3=primary Roboto 600、h2=Roboto 600 38px、h4~h6=accent Roboto 500); + * widget 标题(heading/image-box 等)的内联排版与 widget css 特异性更高,不受影响 */ + .content-html h1 { font-family: "Roboto", sans-serif; font-weight: 600; } + .content-html h2 { font-family: "Roboto", sans-serif; font-size: 38px; font-weight: 600; } + .content-html h3 { font-family: "Roboto", sans-serif; font-weight: 600; } + .content-html h4, .content-html h5, .content-html h6 { font-family: "Roboto", sans-serif; font-weight: 500; } .content-html img { max-width: 100%; height: auto; } .content-html table { border-collapse: collapse; } .content-html td, .content-html th { border: 1px solid var(--line); padding: 6px 10px; } @@ -285,6 +292,10 @@ .el-col > div > [data-el]:not(:last-child):not(.el-w-auto) { margin-bottom: 20px; } .el-texteditor { display: flow-root; } .el-texteditor p { margin: 0 0 0.9em; } + /* frontend.min.css:widget 内 figure 外边距清零(text-editor / post-content 例外保留 UA 边距); + * H10 html 模块 figure 曾因 UA margin(1em 40px) 被挤窄 80px、多出 16px 底边距 */ + .content-html [data-el] figure { margin: 0; } + .content-html .el-texteditor figure { margin-block: 1em; margin-inline: 40px; } /* ===== Elementor widget-image 基础(widget-image.min.css 对应块) * a 与 img 都是 inline-block 且 img vertical-align:middle,