2011-12-08 11 views
6

数値の左側にマイナス記号を付けて、右から左のテキストボックスに負の数を表示するにはどうすればよいですか?RTLテキストボックスのマイナス記号

現在の状態:1 -
望ましい状態:-1

+2

どのように右から左に向かっているのですか... CSS方向:rtl? –

+0

@SirCrispalot、Yes ** sir ** ... ;-) – gdoron

+1

作成されたマークアップの例を教えてください。 –

答えて

8

あなたのテキストボックスにあなただけのdirectionをリセットし、右にテキストを整列する必要があります。

BODY { 
    direction: rtl; 
} 
#myInput { 
    direction: ltr; 
    text-align: right; 
} 

Example fiddle here

+0

#myInputスタイルにすべてのテキストボックスとラベルを変更しないのはなぜですか? direction rtlとtext-alignの違いは何ですか?そうですか? – gdoron

+0

'#myInput'は単なる例です。コードセレクタを変更して、コードに必要なものと一致するようにする必要があります。違いについては、この質問をチェック:http://stackoverflow.com/questions/8430148/differences-between-direction-and-text-align-in-css –

+0

はい私はこの質問を読んで、その質問者を愛して... * * =)**ありがとう! – gdoron

8

これは、UIのコンテキストに関するRTL/LTRの一般的な問題です。

短い答え:数値入力と文字列入力をテキストボックスに分けることをお勧めします。ほとんどのRTL言語(すべてではないが注意!)の数はLTRであり、文字列はRTLであり、コンテキストを分割することで入力を適切に定義することができます。

例 -

Place: <input type="text" dir="rtl" /> 
Temperature: <input type="number" dir="ltr" /> 

注W3Cはまた、アクセシビリティとスクリーンリーダーのための優れているHTMLマークアップ言語ではなく、CSSを設定することをお勧めします。可能であれば、lang = ""属性を追加することもお勧めします。

可能文字列や数値のためのテキストボックスを分割するには、いくつかの理由が特にRTL/LTRのために、個別にあります

  • これは良いUXの決定は通常、それはあなたのユーザーにそれが明確になるためどのような彼らタイプすると予想されます。
  • 計算や表示の問題が何であっても、文字列と数値入力が何であるかについて、コード(またはフォームフィールドを分析するもの)が明確に区別されます。あなたは結果を表示するとき、あなたは番号とテキストが(<span dir="ltr">...</span>またはdir="rtl"関連を使用して)正しく表示されていることを確認することができます
  • 数値は、モバイルデバイスは、数字パッドではなく、フルキーボードをロードすることを可能にするように、入力の定義、これはUXのボーナスです。

この質問は数年前ですが、RTLや複数の方向をフォームにサポートすることに関心がある人にとって、これは新しい考慮事項(およびそれ以降モバイル技術を含むいくつかのテクノロジアップデート)に役立つことを願っています。

関連する問題