我嘗試將Color-mix與currentColor值一起使用,但每次使用時,Safari中的頁面都會停止工作。為什么會這樣可能不支持currentColor。但它不應該打破這一頁。
我用的是Safari 16.5 (18615.2.9.11.4)
.block {
background-color: inherit;
color: color-mix(in srgb, currentColor, white 50%)
}
# # #這個bug已經在最新的TP:https://bugs.webkit.org/show_bug.cgi? id = 256171中修復了,我假設這個會在下一個穩定版本中發布。
他們編寫了一個WPT測試,似乎假設currentColor只從繼承中解析,避免了遞歸,然而這個測試在Chromium中沒有通過。我認為目前的相關規范是:
如果全部& ltcolor & gt參數解析為它們各自顏色空間中的相應顏色,計算出的值是絕對值& ltcolor & gt值,在指定的RCS顏色空間中,根據CSS Color 4 14進行解析。正在解決& ltcolor & gt價值觀。否則(如果函數中使用了“currentColor”),計算出的值是相對顏色語法函數,每個& ltcolor & gt根據CSS顏色4 14解析參數。正在解決& ltcolor & gt值,從而保持對子元素的繼承。
我必須承認,我不是100%確定這應該是關于這種情況的閱讀,但無論如何這是Firefox和現在Safari暴露的行為,所以Chrome很有可能很快會跟進或要求規范來澄清應該發生的事情。
但無論如何,你是對的,瀏覽器不應該像那樣崩潰,如果你發現另一個這樣的情況,你應該向他們的供應商報告。