v0.10.10 首页 H10 Smart Apartment Gateway 规划模块(html 自包含模块)1:1:html widget localSiteUrl/去内层 mb;全局补 Elementor figure margin 0 与 kit 标题排版(Roboto 600/h2 38px);sec h 674.8 与原站全等,H2/H9 回归零差异

This commit is contained in:
bigcode
2026-11-01 10:52:39 +08:00
parent f66f4775d6
commit b0b9c6d5a0
4 changed files with 16 additions and 3 deletions
+1 -1
View File
@@ -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% 强推回归) | | 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) | | 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(卡片 <a> 经 .elementor-kit-15 a 规则用 Roboto,否则 Arial 截断致规格多折一行);实测仅 0.8px 页级漂移) | | 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(卡片 <a> 经 .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(多标签竖排) | ⬜ | | H11 | Industries & Use Cases | heading + eael-adv-tabs + button(多标签竖排) | ⬜ |
| H12 | The Difference Maker 段一 | heading+text+icon-list+text+button(左侧列表优势) | ⬜ | | H12 | The Difference Maker 段一 | heading+text+icon-list+text+button(左侧列表优势) | ⬜ |
| H13 | Difference Maker 产品卡 ×6 | image-box ×6 | ⬜ | | H13 | Difference Maker 产品卡 ×6 | image-box ×6 | ⬜ |
+1 -1
View File
@@ -1,6 +1,6 @@
{ {
"name": "dusuniot-rebuild", "name": "dusuniot-rebuild",
"version": "0.10.9", "version": "0.10.10",
"private": true, "private": true,
"type": "module", "type": "module",
"scripts": { "scripts": {
+3 -1
View File
@@ -484,8 +484,10 @@ function WidgetNodeInner({ el }: { el: ElElement }) {
case "button": case "button":
return <ButtonWidget settings={settings} />; return <ButtonWidget settings={settings} />;
case "html": case "html":
// 间距交由 kit-spacing 列规则(.el-col > div > [data-el]),内层不再加 mb;
// 媒体地址经 localSiteUrl 改写为本地 /uploads(原站绝对地址 → 本地)
return s(settings.html) ? ( return s(settings.html) ? (
<div className="mb-[18px]" dangerouslySetInnerHTML={{ __html: stripStructuralTags(s(settings.html)) }} /> <div dangerouslySetInnerHTML={{ __html: localSiteUrl(stripStructuralTags(s(settings.html))) }} />
) : null; ) : null;
case "image-box": case "image-box":
return <ImageBoxWidget settings={settings} />; return <ImageBoxWidget settings={settings} />;
+11
View File
@@ -86,6 +86,13 @@
@layer components { @layer components {
/* ===== 内容排版(Elementor / 正文 HTML,数据库导入内容) ===== */ /* ===== 内容排版(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 img { max-width: 100%; height: auto; }
.content-html table { border-collapse: collapse; } .content-html table { border-collapse: collapse; }
.content-html td, .content-html th { border: 1px solid var(--line); padding: 6px 10px; } .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-col > div > [data-el]:not(:last-child):not(.el-w-auto) { margin-bottom: 20px; }
.el-texteditor { display: flow-root; } .el-texteditor { display: flow-root; }
.el-texteditor p { margin: 0 0 0.9em; } .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 对应块) /* ===== Elementor widget-image 基础(widget-image.min.css 对应块)
* a 与 img 都是 inline-block 且 img vertical-align:middle, * a 与 img 都是 inline-block 且 img vertical-align:middle,