命名空间CSS?
你觉得可以直接在 Grapejs 生成的所有类名前缀吗?如果不是用.row,而是用.grape-row之类的(我可能会把前缀设为变量),你大多能得到@tomichal想要的效果。
阅读下方完整回答 ↓问题
你好, 有没有办法设置 grapesjs 编辑器,让为 HTML 内容生成的 CSS 带有命名空格?换句话说,如何避免编辑器中为创建/编辑内容定义的样式规则泄露到网站页面的其他部分?
以我的网站为例,用户可以编辑页面的大部分内容,但不能全部编辑——其余部分、HTML 内容和 CSS 由服务器动态生成(这是一个 Rails + Angular 网站)。
我发现如果我用带列的行,grapesjs 编辑器生成的 CSS 会有一个“行”类的定义(例如 “.row { ... }”)。不过,我用的是一个CSS库,它为“行”类提供了自己的定义,所以grapesjs的定义和我全站CSS的定义冲突了。
感谢大家对这个问题的任何帮助和建议!
回答(3)
你觉得可以直接在 Grapejs 生成的所有类名前缀吗?如果不是用.row,而是用.grape-row之类的(我可能会把前缀设为变量),你大多能得到@tomichal想要的效果。
实际上,你可以在新选择器上添加一个监听器,并在上面添加一个前缀 “''js const 前缀 = 'myprefix-'; editor.on('selector:add', selector => { const name = selector.get('name'); 如果 (selector.get('type') === 编辑器。SelectorManager.Selector.TYPE_CLASS && name.indexOf(前缀) !== 0) { selector.set('name',前缀 + name); } }); ```
你好, 想做沙盒设计的人可以试试导出的CSS前缀,我们也有同样的使用场景,采取了Sas的方式。
为此,我使用了sass.js(https://github.com/medialize/sass.js/)
步骤:
- 将css字符串与你的自定义类一起包裹。比如说MyCustomClass。
- 从上述库运行 sass.compile,将 scss 转换为 css,后者已与 gaten() 类沙箱化,
这样你就不会遇到冲突的问题。
这个回答是从另一个问题中复制来的。#2363
相关问答
通过相似的问题讨论继续研究。
问题 #2154
自定义组件集成
你好! 我想用 Angular CLI 7 将一个自定义组件集成到 GrapesJS,但它无法渲染。 我的组件是建立在另一个开源组件之上的。当我想在任何 Angular 项目中包含它时,我会直接导入 typescript 文件中的依赖/库,并在 HTML 中导入组件本身(例如...
问题 #2337
删除默认样式无效
你好, 我正在尝试删除一些方块的默认样式。我把改动的所有内容都写进了一个插件里。 我用这个函数更新了例如文本组件的样式默认值: “编辑。DomComponents.addType(.....)` 此处可见:https://grapesjs.com/docs/modules/Co...
问题 #1909
SetComponents 有时非常慢
大家好 我们正在开发一个通讯应用,使用 grapesjs 作为邮件编辑器,通讯预设为 plguin 和一些自定义更改。我们把HTML存储在数据库里,我注意到有些模板用editor.setComponents方法加载起来非常慢。 我尝试通过导入加载演示页面的模板,虽然加载几乎是瞬...
问题 #364
排序 如何显示区块类别。
有没有办法在“块”标签页中设置分类的显示方式?
与此问题匹配的付费插件
根据问题关键词和标签相关性精选,助你更快交付。
正在加载付费插件推荐……
浏览插件分类
直接跳转到市场上的插件分类页面。