可选地从StyleManager中插入样式,且 !重要
问题
我想建议一个可以通过配置启用的功能:'styleAsImportant: true'(默认为false,即不破坏)。我原以为只要配置cssComposer就能做到,但现在我了解到事实并非如此(详见下文解释)。 我使用的模板有时是从过度使用!important标志的预编译器生成的。例如,模板中的按钮可以样式为: 因此,用葡萄装饰这个按钮完全没有效果。让葡萄有效最明显的方法是确保: 1)葡萄的造型还有“!重要”(这个功能) 2)葡萄样式是在模板样式之后(应该已经是这样了,对吧?) 我猜正确的做法是让[CssRule.js#36](https://github.com/artf/grapesjs/blob/dev/src/csscomposer/model/CssRule.js#L36)可配置。我尝试用以下方法设置这个“重要”标志: 但这似乎没有任何影响。此外,当我把它硬编码为“true”时,我发现这个实现存在两个问题: 1)它还会为模板中的规则添加“!important”。这个功能建议专门针对通过样式管理器手动添加的规则,因为这些规则应该会覆盖模板的样式。否则没有附加价值。 2)如果模板规则中已有重要语句,则会重复添加“!important”,导致由于CSS属性无效而渲染失败: <img width=“325” alt=“截图 2018-04-13 12:11 02 pm” src=...
回答(3)
在#1056上加入了PR
@tommedema组件和 CSSS 规则实现了 Styleable,因此无论如何都能使用。你的意思是我们得写插件来监听这些事件,并为组件添加额外的样式? 不是额外,而是覆盖该模型触发的样式,例如。 “''js 例如,你的配置 cont styleImportance = 1; // ... editor.on('styleable:change', (model, property) => { const value = model.getStyle()[property]; console.log(“有”称号“,财产,价值); 如果(styleImportant) { model.add...
相关问答
通过相似的问题讨论继续研究。
问题 #1614
:将css变量添加为style manager属性
尝试向样式管理器添加CSS变量导致错误: “未捕获类型错误:无法读取未定义[fiddle](https://jsfiddle.net/GCoda/ke3p0mgj/)的属性'toPerCase' “JavaScript 编辑。StyleManager.addSector('te...
问题 #1779
特征类型 在组件类型初始化时未勾选复选框。
嗨,阿图尔 当我尝试从 domCom 的 init() 中检查特征(类型:勾选框) 时,属性设置为真但未勾选。 代码: “''js 特质:[ { 类型:“勾选框”, 标签:“显示分页”, 名称:“页码”, 变革提案:1 } ] .... init() { var 页码 = th...
问题 #1754
Ckeditor 样式问题(4)
大家好,@artf们! 再次感谢你出色的工作! 我尝试用 grapesjs 实现 ckeditor,似乎基本正常工作,但今天我发现了一些奇怪的东西。我试着截图了,如果不清楚请告诉我......我选择白色文本,它会样式化跨度元素,一切正常。 ![ezgif com-video-t...
问题 #1645
将面板向左移动
大家好,葡萄团队, 我正在尝试把 BlockManager、StyleManager、TraitManager 等迁移到左边。 我试过用“appendTo”,但不知道为什么默认面板还显示。 ![葡萄味](https://user-images.githubusercontent...
与此问题匹配的付费插件
根据问题关键词和标签相关性精选,助你更快交付。
正在加载付费插件推荐……
相关教程
关于同一主题的深入指南。
浏览插件分类
直接跳转到市场上的插件分类页面。