codex-team/editor.js

CSS overriding the style of block tool SVG component

Open

#2,294 创建于 2023年3月3日

在 GitHub 查看
 (3 评论) (0 反应) (0 负责人)TypeScript (1,985 fork)batch import
good first issueimportant

仓库指标

Star
 (26,602 star)
PR 合并指标
 (30 天内没有已合并 PR)

描述

There is a css rule in file ui.css, which goes like this...

path { stroke: currentColor; }

Now this rule is fairly innocent but when you have some SVG component as a Block tool, in my case, I am rendering Echarts as a block tool which uses SVG. Then this rules completely overtakes the styles of my svg->path element. Check this image below.

Screenshot 2023-03-03 at 6 04 03 PM

For this SVG, the stroke gets overridden by editor.js style...

Screenshot 2023-03-03 at 6 09 30 PM

This happens because SVGs style precendence works bit differently, Link

The presentation attributes thus will participate in the CSS2 cascade as if they were replaced by corresponding CSS style rules placed at the start of the author style sheet with a specificity of zero. In general, this means that the presentation attributes have lower priority than other CSS style rules specified in author style sheets or ‘style’ attributes.

There is no way to override this behaviour, So I am suggesting if ui.css style could be bit scoped, then this issue could be avoided.

Thanks in advance guys, up and up

贡献者指南