色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

如何解決使用currentColor時顏色無樣式的SVG閃?

榮姿康2年前10瀏覽0評論

我使用currentColor通過css設置svg填充值。這沒有問題,除了在加載期間,svg首先加載為黑色,然后在css加載后切換到正確的顏色。

我嘗試了許多不同的方法,包括使用內聯樣式,使用兩個填充聲明,希望在currentColor尚未定義時優先生效,等等。

每當我定義了一個實際的填充顏色,我似乎不能讓它在加載時改變為currentColor值。

我錯過了什么?

使用& ltstyle & gt標簽,然后在那之后加載其他CSS。

<svg>
  <style>
    .color-1 {
      color: lightblue;
    }
  </style>
  <rect class="color-1" width="100%" height="100%" fill="currentColor"/>
</svg>
...
<link rel="stylesheet" href="styles.css">

給想要引用的元素一個類或id,并在以后用它來覆蓋顏色。

/* styles.css */
.color-1 {
  color: aquamarine;
  transition: color .2s ease;
}

如果您擔心將CSS放在& ltbody & gt,您可以在& lthead & gt取而代之,用!重要,但這可能會導致其他問題。

解決方案2 不要依賴currentColor,直接使用fill屬性:

<svg>
  <rect class="color-1" width="100%" height="100%" fill="lightblue"/>
</svg>
...
<link rel="stylesheet" href="styles.css">

/* styles.css */
.color-1 {
  fill: aquamarine;
  transition: fill .2s ease;
}

這是因為類和id比fill屬性具有更高的特異性。

這兩種解決方案都可以在根& ltsvg & gt元素,如果你喜歡的話。