CSS 解析器会无效地解析某些重复声明
浏览器本身已经有DOM树,且所有样式信息等都可以在选中组件后按需检索 这大概是我在 grapesjs 之前尝试过做的东西,说实话,经过几周的努力,我意识到结果就是一台大而难维护、不可靠、慢的垃圾。相信我,Tom,把这么大的应用状态放在DOM里,根本不是选项。[又一次](https://github.com/artf/grapesjs/issues/1032#issuecomment-380964323),我用的是浏览器的解析器,但问题在于构建规则的CSS状态。 顺便说一句,GrapesJS 在创建新样式规则之前,会检查 [https://github.com/artf/grapesjs/blob/dev/src/css_compo...
阅读下方完整回答 ↓问题
在最新的开发分支提交 39be1e0 上测试过。这个问题发生在我的一个模板上,所以是现实世界的问题。我花了大约半天时间制作这个缩小版测试用例,希望对你有帮助。 如果你有一个包含以下CSS的模板: 浏览器会正确地这样渲染: <img width=“609” alt=“截图 2018-04-20 下午3:14:01” src=“https://user-images.githubusercontent.com/331833/39075971-8307bb60-44ad-11e8-89ed-355801ac3c33.png”> JSFiddle:https://jsfiddle.net/szLp8h4n/192/ 但葡萄的表现是错误的: <img width=“863” alt=“截图 2018-04-20 下午3:16 04” src=“https://user-images.githubusercontent.com/331833/39076015-c52c0726-44ad-11e8-8469-c6f0f327c3d9.png”> JSFiddle:https://jsfiddle.net/szLp8h4n/194/ @artf这又是一个例子,我建议不要自己创建解析器(虽然你称它为“遍历器”),而是直接依赖浏览器的解析器。例如,当浏览器本身已有DOM树,且选中组件后可以按需检索所...
回答(3)
浏览器本身已经有DOM树,且所有样式信息等都可以在选中组件后按需检索 这大概是我在 grapesjs 之前尝试过做的东西,说实话,经过几周的努力,我意识到结果就是一台大而难维护、不可靠、慢的垃圾。相信我,Tom,把这么大的应用状态放在DOM里,根本不是选项。[又一次](https://github.com/artf/grapesjs/issues/1032#issuecomment-380964323),我用的是浏览器的解析器,但问题在于构建规则的CSS状态。 顺便说一句,GrapesJS 在创建新样式规则之前,会检查 [https://github.com/artf/grapesjs/bl...
@artf让我惊讶的是,这个项目变慢,因为我以为浏览器会为此高度优化,但你在这个项目上经验丰富,我相信你的判断;)
我绝对支持无条件添加所有规则的选项。这对我来说很合理,因为对我来说,浏览器才是真实的,不需要在浏览器告诉你的信息之外还做额外的检查。
你想这么做还是我应该创造个人最佳记录?如果是后者,你能告诉我这些检查是在哪里进行的吗?你之前链接的这个[getter](https://github.com/artf/grapesjs/blob/dev/src/css_composer/index.js#L223-L230)真的是吗?我预计这些检查应该是在getter之外完成的。
我真的很希望能破个人纪录。 我觉得在[添加方法](https://github.com/artf/grapesjs/blob/dev/src/css_composer/index.js#L192-L202)里检查应该没问题。
相关问答
通过相似的问题讨论继续研究。
问题 #916
为什么图层没有元素标签名称?
我正在尝试葡萄内部结构,因为我希望将来能有所贡献。我主要关注的是用通用的HTML网站来做值得,无论CSS和HTML的风格和结构如何(包括文档类型、正文支持等)。 我原本以为“图层”层级会代表DOM树。虽然目前看起来没错,但元素的命名似乎不太对劲。例如,用这个 HTML 表示:...
问题 #1032
多个字体-at-rule的CSS规则不会被处理
葡萄 #cfde1c1 最新版本 如果你提供一个单一的“@font面”,解析就很正常: JSFiddle 示例:https://jsfiddle.net/szLp8h4n/140/ 截图: <img width=“1395” alt=“截图 2018-04-11 下午3:19:...
问题 #3250
问题:图层标签
@artf我很喜欢和GJS合作。我还有最后一件事希望你能帮忙。 如果能在图层管理器中自定义标签会非常有帮助。我到处找过,但都没找到。 默认显示“文本”和“框”的方式,对于想要高效导航来说帮助不大。 <img width=“204” alt=“截图 2021-01-28 07 2...
问题 #2838
风格部分被重复使用
大家好 我使用的是: “葡萄”: “0.16.12”, “grapesjs-preset-webpage”: “0.1.11”, 在 CSS 编辑区我遇到了这种奇怪的现象: <img width=“1527” alt=“截图 2020-06-19 00 39 13” src=“...
与此问题匹配的付费插件
根据问题关键词和标签相关性精选,助你更快交付。
正在加载付费插件推荐……
浏览插件分类
直接跳转到市场上的插件分类页面。