2013-12-16 65 views
0

我有一個OpenLayers地圖(SVG渲染器),其中包含數十個氣泡/功能,並且當我對它們進行聚類時,我還對它們應用了自定義的fontSize樣式 - 通過OpenLayers.Style是否可以忽略繼承的字體大小?

另一方面,我有一個像* { font-size: 14px; }重置規則。 circle,texttspan元素 - 地圖上的氣泡,它們都從*繼承字體大小屬性,然後超出OpenLayers應用於text元素的內聯屬性font-size

如果我通過Chrome Developer Tools從上述任何元素中暫時刪除了繼承的font-size,那麼一切都會好起來的。

任何想法我應該如何克服這個問題?請注意:

  • 字體大小是動態的。我在OpenLayers對這些功能進行聚類時計算它們。所以我不能將靜態classstyle應用於它們。
  • 我不想使用:not選擇
  • 如果我刪除從*font-size,那麼你怎麼建議,將其應用到所有其他元素?
  • 在CSS中有沒有像!not-importantdo-not-inherit

實際text節點看起來是這樣的 - 準系統:

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

爲什麼不能簡單地將所需的樣式應用於問題中的元素?這將覆蓋使用*選擇器應用的樣式。 –

+0

@ChrisHardie他們是動態的,我不能對他們應用'class'或'style'。我在聚類發生時通過OpenLayers中的JS來計算它們。 – Mahdi

+0

啊,我不熟悉OpenLayers。那麼將這些動態元素封裝到包含元素中,然後將字體大小應用於該容器? –

回答

1

如果你嘗試body{ font-size:14px;}或至少父母在較高的水平,而不是*