样式管理器未能正确解释后裔选择器
是的,这不支持,因为试图匹配任何可能的规则可能会影响性能。 不过你可以通过 [styleManager.select](https://grapesjs.com/docs/api/style_manager.html#select) 选择任意规则。
阅读下方完整回答 ↓问题
葡萄JS版本
- 我确认使用最新版本的GrapesJS
你用的是什么浏览器?
Chrome 版本 131.0.6778.205
可复制演示链接
https://codesandbox.io/p/sandbox/naughty-microservice-5hp3h4
描述一下那个虫子
如何重现该漏洞:
- 将“暗色风格”职业加入正文: “''js editor.getWrapper().addClass(“dark-style”);
- 添加一个后代选择规则: “''js 编辑。CssComposer.addRules(“.dark-style .test-block { margin-top: 50px; }”);
预期行为是什么: 在样式管理器中解释为margin-top: 50px;
当前行为如何: 在样式管理器中没有显示,但在画布中渲染是正确的
HTML示例: '''html
<div id=“gjs”> <div class=“test-block”>Hello World!!</div> </div>行为准则
- 我同意遵守本项目的行为准则
回答(4)
是的,这不支持,因为试图匹配任何可能的规则可能会影响性能。 不过你可以通过 [styleManager.select](https://grapesjs.com/docs/api/style_manager.html#select) 选择任意规则。
好的,谢谢你的澄清——我现在用的是select,有什么办法用这种方式定位媒体标签吗?
你可以获取你需要的CSSRule(['getRule'](https://grapesjs.com/docs/api/css_composer.html#getrule)),然后传给styleManager.select
谢谢你举报,@MLMarxx。 关于样式管理器未能正确解读后裔选择器的好问题。推荐的 StyleManager 方法是使用事件驱动的 API。 从这里开始: 查看你所在模块的[GrapesJS文档](https://grapesjs.com/docs/) 寻找“on()”事件监听器方法 大多数操作可以通过监听编辑器和组件事件来实现 常见模式: “JavaScript 留意变化 editor.on('change', () => console.log('something changed')); 组件生命周期 editor.on('component:mount', (c) => conso...
相关问答
通过相似的问题讨论继续研究。
问题 #5746
当面板不在编辑器容器时,ColorPicker 偏移不正确
葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Chrome v122 可复制演示链接 https://grapesjs.com/docs/getting-started.html#style-manager 描述一下那个虫子 如何复现这个漏洞...
问题 #6502
内联样式覆盖基于ID的CSS规则
GrapesJS版本 [x] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Chrome v135.0.7049.96 可复制演示链接 https://jsfiddle.net/bqkLwt8j/ 描述一下那个虫子 当元素具有内联样式且匹配基于ID的CSS规则时,...
问题 #4082
从画布框中移除一些初始样式
葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? Chrome v96 可复制演示链接 没有演示 描述一下那个虫子 当我加载某个模板时,编辑器会添加一些初始样式,比如下面的图片,我该如何设置或移除某些样式?举个例子:我需要移除Webkit的滚动条...
问题 #5450
该部分应与葡萄中存在重叠问题
葡萄JS版本 [X] 我确认使用最新版本的GrapesJS 你用的是什么浏览器? 版本 117.0.5938.134(官方构建)(64位) 可复制演示链接 https://jsfiddle.net/ap404703/0e5zop1n/ 描述一下那个虫子 示例如下 葡萄 Js 文...
与此问题匹配的付费插件
根据问题关键词和标签相关性精选,助你更快交付。
正在加载付费插件推荐……
浏览插件分类
直接跳转到市场上的插件分类页面。