Skip to main content

drop_overridden_longhands

Function drop_overridden_longhands 

Source
fn drop_overridden_longhands(
    applied: &mut BTreeMap<String, (bool, Option<usize>, (u32, u32, u32), usize, String)>,
    specified_values: &mut BTreeMap<String, String>,
)
Expand description

【2026-09-26 バグ修正】一括指定が勝ったとき、それより優先度の低い個別指定を捨てる。

従来はキーごとに独立して勝者を決めていたため、UA 既定の ul{margin-left:20px} が 作者の *{margin:0} に負けず、www.sugi-lab.net のナビ(ul.nav-list)が 20px 右へずれてコンテナからはみ出していた。作者ルール同士 (.a{padding-left:9px} の後に詳細度の高い .a.b{padding:0})でも同じことが起きる。

UA 既定(specified_values に先に入っている値)は作者宣言より常に低いので、 作者側に一括指定があれば UA の個別指定は無条件に消す。 同じ規則内の margin:0; margin-left:5px は出現順が同じ扱いになり個別指定が残る (従来どおり)。逆順の margin-left:5px; margin:0 は区別できない(簡略実装)。