数分前、私は非常に奇妙な現象に出くわしました。
Firefox や Safari は解釈するだけではないようです
left: -50%;
と
left: -50px;
だけでなく、
left: -50%px;
この動作を示すためにJSFiddleを作成しました。
クラス .strangePositioner の CSS を前述の 3 つの値のいずれかに変更してみてください。それぞれで異なる結果が表示されます。
私の最初の意図は、幅が内側のコンテンツによって定義されている外側の div の左端に要素を配置することでした (この例では「ストレッチャー」と呼ばれます)。CSS 定義を間違って入力したため、最終的には正しい結果になりましたが、誤って有効な定義ではないことがわかりました。とか、そう思いました。
Q: ブラウザーがこれをそのように解釈するのはなぜですか? (構文の問題は別として) 有効な CSS ですか? 有効な CSS でない場合、どの標準に準拠していませんか?