質問
text-indent
プロパティの最小許容負の値とは何ですか?
私は私のサイトでビジュアル巨大な価値を使っていました(text-indent: -99999999px
のようなもの)、そして最後のGoogle Chromeアップデートを使って作業を中止しました。すなわちまだうまく機能しますが、それをもう一度クロムで作業するようにするためにそこから9の数の9を削除する必要があるかもしれません。
免責事項:はい、この値は少し妄想的です、私はそれを今日の画面上に飛び出したまでそれを忘れて忘れて忘れていました。しかし、通常推奨されるtext-indent: -9999px
は、ある時点で(そうではない)将来の点で簡単に失敗する可能性がありますか?
解決
安全な値はおそらく -32768px
ですが、これは仕様の一部ではなく、(おそらく時代遅れの)実装特有のレガシー制限の観測です。
CSSプロパティ値をレンダリング時に要素に適用することができるため、それらの宣言は効果的に、文字列よりもより動作可能で抽象化されたものに解析されなければなりません。つまり、 type をプロパティ値としてほぼ何でもできます。
.
.a {text-indent: -999px;}
.b {text-indent: -99999999px;}
.c {text-indent: medium potato;}
最初の例では、指が交差し、正しく解析されます。最後のものは無効であり、無視されるでしょう(中灯が現在W3C CSS仕様の一部ではありません)。しかし、中央のものはQuirkyになるでしょうオーバーフロー(では "フィット"が割り当てられている場合ブラウザ)。私はフィドルをまとめています、そして、これらはブラウザが "チョーク"とデフォルトでゼロになるtext-indent
値です:
.
#On OSX 10.8 Lion 64bit:
Safari 6 -2^31
Chrome 22 -2^26 #your original -99999999px would have failed here
Firefox 14 -2^70
Opera 12 -2^70
#On Win Server 2008 64bit:
Firefox 13 -2^70
Chrome 21 -2^70
IE 9 -2^70
これは私に興味がある、明日他の箱でもっとテストを実行します。結果が更新されました。 このfiddle を使用してあなた自身のテストを実行することもできます。それは無視されました。 私は、使用されているブラウザ/ OS、ハードウェアとともに値が異なると仮定しています。
最初に登覚する ANの実用的参照を覚えています。スタイリングのFAUX列の記事^ は、16ビット符号付き整数(-32768から+ 32767)の保守的な制約を示唆しています(-32768から+ 32767) - テキストの区画だけでなくに適用されますがその他の長さの値この値が異なるブラウザとそのバージョンにわたってどれほど一貫性があるかも、それが異なるユニットで表現された分数または値にどれほど該当するかを認識していません。
他のヒント
最小のテキストインデントはありません - 私は1つのピクセルだけを使いましたが、それがレイアウト/デザインに使用するのが悪い練習であることを確認してください。これを確認すると、プラズマサイズのレイアウト99999px - が十分すぎると画面からスクロールすることを確認してください。 - テキストを見てスタイリングのために使用したい場合は、余白のパディングとポジションを使用してください。
私は99999emの数を使ってiPad Safariに問題があり、9999emに設定しました。 だからあなただけが制限されていないかもしれませんが、この間違いを避けるためのものであるべきです。