Skip to main content

resolve_translate_len

Function resolve_translate_len 

Source
pub(crate) fn resolve_translate_len(tok: &str, base: i32) -> i32
Expand description

translate の 1 引数(px / % / rem / vh / vw)を base 基準で解決。 以前は px/% の2種のみ対応で、それ以外の単位(rem/vh/vw等)は t.strip_suffix("px").unwrap_or(t)が単位付き文字列をそのまま数値 パースへ渡してしまい、静かに0へフォールバックしていた——単に 「対応外」なのではなく、transform: translate(1rem, 10px)のような 式で意図した移動量が消えて要素が動かなくなる、実害のあるバグだった。 em(要素自身の算出フォントサイズ基準)はこの関数の引数だけでは 算出フォントサイズを解決できないため対象外のまま (font-sizeの継承解決には別途プロパティ探索が必要で、誤った既定値 〔例:常に16px〕を当てはめるとremと区別が付かない別の壊れ方になる リスクがあり見送り)。2026-07-17 発見・実装。