【问题标题】:Is that possible to ignore the inherited font-size?是否可以忽略继承的字体大小?
【发布时间】:2013-12-16 20:34:43
【问题描述】:

我有一个OpenLayers 地图(SVG 渲染器),其中包含许多气泡/特征,当我对它们进行聚类时,我还通过OpenLayers.Style 将自定义fontSize 样式应用于它们。

另一方面,我有一个像* { font-size: 14px; } 这样的重置规则。 circletexttspan 元素——地图上的气泡,它们都继承了 * 的字体大小属性,然后超过了 OpenLayers 应用到的 font-size 的内联属性text 元素。

例如,如果我通过 Chrome 开发者工具从上述任何元素中临时删除继承的 font-size,那么一切都会好起来的。

任何想法我应该如何克服这个问题?请注意:

  • 字体大小是动态的。我在 OpenLayers 对特征进行聚类时计算它们。所以我不能对它们应用静态的classstyle
  • 我不想使用:not 选择器
  • 如果我从* 中删除font-size,那么您建议如何将其应用于所有其他元素?
  • CSS 中有没有类似!not-importantdo-not-inherit 的东西?

实际的text 节点看起来像这样——准系统:

<text font-size="19.2px">
    <tspan>19</tspan>
</text>

【问题讨论】:

  • 为什么不能简单地以声明方式将所需样式应用于问题中的元素?这将覆盖使用 * 选择器应用的样式。
  • @ChrisHardie 它们是动态的,我不能对它们应用classstyle。当集群发生时,我通过 OpenLayers 中的 JS 计算它们。
  • 啊,我不熟悉 OpenLayers。将这些动态元素包装在包含元素中,然后将字体大小应用于该容器呢?
  • 如果您使用* 重置字体大小,您实际上是在阻止继承。
  • 如果你尝试 `body{ font-size:14px;} ` 或者至少是高级别的父级而不是*

标签: css svg


【解决方案1】:

如果您尝试使用body{ font-size:14px;} 或至少是高级别的父级而不是*,会怎样?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-02-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-22
    • 2016-08-10
    • 1970-01-01
    相关资源
    最近更新 更多