我有一個用 calc 設定的寬度,它應該回傳 0,但是當我查看計算出的寬度時,它顯示為 22.2333px。
:root {
--show: 1;
}
.test {
display: inline-block;
overflow: hidden;
width: calc(var(--show) - 1);
opacity: calc(var(--show) - 1);
}
<span class="test">test</span>
<span class="test2">
test2
</span>
在我看來,.test 的寬度應該是 0,尤其是因為不透明度是 0。如果我將 width 屬性的值明確設定為 0,它就可以作業。
uj5u.com熱心網友回復:
width接受長度或百分比值,您calc()將回傳一個整數。
這對您來說可能看起來微不足道,因為結果是0但瀏覽器并非如此。calc(0)處理方式與0. 第一個無效,width第二個有效。
數學函式可以是許多可能型別,如
<length>,<number>等,這取決于所包含的計算中,如以下所定義。它可以在任何允許使用該型別值的地方使用。參考
添加一個單元來克服這個問題:
:root {
--show: 1;
}
.test {
display: inline-block;
overflow: hidden;
width: calc((var(--show) - 1)*1px);
opacity: calc(var(--show) - 1);
}
<span class="test">test</span>
<span class="test2">
test2
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/328452.html
