PageKit — 可自托管的 GrapesJS 建站工具,附完整源码。 获取抢先体验

问题 #5487💬 已回答提出于 2023年10月28日作者 MaxDBenson0 个反应

样式管理器不会为同一类显示多个规则

快速解答作者 artf

这不是bug,样式管理器一次只处理一条规则,如果你想要更高级的使用,可以用API实现功能(比如用同一选择器选择不同规则)。

阅读下方完整回答 ↓

问题

GrapesJS 版本

  • 我确认使用最新版本 GrapesJS

你用的是什么浏览器?

Firefox

可复制演示链接

https://jsfiddle.net/497zkrpm/1/

描述一下那个虫子

如何复现这个漏洞?

  1. 选择“Hello World”组件
  2. 打开样式管理器,确保在类部分勾选了“myclass”
  3. 检查“高度”和“背景颜色”属性的值

预期的行为是什么? 样式管理器应反映与所选类相关的所有规则(此处为 .myclass {height: 100px} 和 .myclass {background-color: green}

目前的行为是什么? 样式管理器只反映与所选类相关的第一个规则(此处为: .myclass {height: 100px}

https://github.com/GrapesJS/grapesjs/assets/14164766/1a8dccad-1314-4291-8644-b8438cc0126e

行为准则

  • 我同意遵守本项目的行为准则

回答(3)

artf• 2023年11月1日

这不是bug,样式管理器一次只处理一条规则,如果你想要更高级的使用,可以用API实现功能(比如用同一选择器选择不同规则)。

MaxDBenson• 2023年11月27日

这不是个bug,样式管理器一次只处理一条规则,如果你想要更高级的使用,可以用API实现你的功能(比如用同一个选择器选择不同规则)。

我明白了。 你介意详细说说该怎么做吗?

而且,风格管理器似乎一次只处理一条规则;因为当我选择类时,我会看到属性/值设置被应用到ID上,反之亦然。

GJS Helper• 2026年5月17日

你遇到的 GrapesJS 样式管理器无法显示同一类所有规则的问题,是由于编辑器内部CssComposer和StyleManager与 CSS 规则的交互方式,这是已知的行为。虽然 CSS 本身允许同一选择器使用多个规则块(浏览器会根据级联正确应用所有规则块),但GrapesJS样式管理器的界面主要反映的是与某个选择器关联的单个 CssRule 模型的属性。 根本原因 当GrapesJS解析你的CSS时,它会为每个不同的CSS规则块创建独立的CssRule模型。所以,针对你的例子: GrapesJS 创建了两个独立的CssRule模型,都针对 .myclass。当样式管理器尝试读取 .myc...

相关问答

通过相似的问题讨论继续研究。

问题 #6659

符号样式未同步

GrapesJS版本 [x] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Firefox 145.0(64位) 可复制演示链接 https://jsfiddle.net/arturarseniev/ta19s6go/ 描述一下那个虫子 如何复现这个漏洞? 进入官...

4 个回答更新于 2025年11月28日

问题 #6152

通过自定义代码添加的CSS在移除自定义代码组件后依然存在

GrapesJS 版本 [X] 我确认使用最新版本 GrapesJS 你用的是什么浏览器? 任何 可复制演示链接 https://grapesjs.com/演示 描述一下那个虫子 如何复现这个漏洞?添加带有HTML + CSS的自定义代码组件删除自定义代码组件。 预期的行为是什...

4 个回答更新于 2024年10月9日

问题 #5720

传播组件默认值在引入子注释时可能会破坏层

GrapesJS 版本 [X] 我确认使用最新版本 GrapesJS 你用的是什么浏览器? Chrome v122 可复制演示链接 https://jsfiddle.net/n38vbktg/ 描述一下那个虫子 如何复现这个漏洞?创建一个组件,传播包含可分层=true的默认值。...

2 个回答更新于 2024年3月7日

问题 #5263

如果删除组件但不删除其对应样式,之后添加新组件会导致样式冲突吗?

GrapesJS 版本 [X] 我确认使用最新版本 GrapesJS 你用的是什么浏览器? 最新版本的Chrome浏览器 可复制演示链接 无效 描述一下那个虫子 如何复现这个漏洞? <img width=“1666” alt=“image” src=“https://githu...

4 个回答更新于 2023年8月3日

与此问题匹配的付费插件

根据问题关键词和标签相关性精选,助你更快交付。

查看全部插件

正在加载付费插件推荐……

免费方案

在以下平台查看开源 GrapesJS 插件: GitHub 或在我们的免费目录中快速搜索。

浏览免费插件 →
高级方案

高级插件提供支持、定期更新和生产就绪的功能——为你节省数天的集成工作。

浏览高级插件 →

相关教程

关于同一主题的深入指南。

全部教程 →

浏览插件分类

直接跳转到市场上的插件分类页面。