CSSで、行揃えを指定するtext-alignプロパティに関する解説です。
text-alignプロパティは、行揃えを指定するプロパティです。
仕様としては、text-alignプロパティはあくまでも内容となるテキスト(インライン要素)のみを対象としているので、内容となるブロックレヴェル要素の配置には影響を与えません。
text-alignプロパティの書式は、以下のようになります。
text-align: 値
値としては、以下のものが取れます。
inheritleftrightcenterjustify表(テーブル)内の要素に限り、行揃えの基準となる文字列を指定出来ます。例えば
th, td {text-align: ".";}
とした場合、コマ内の「.」(小数点)が一列に揃うように配置します。
尚、表(テーブル)内の要素以外にこの値を適用した場合は、デフォルト値、すなわち言語の書字方向に従った配置が適用されます。
尚、text-alignプロパティのデフォルト値は言語の書字方向に従います。
例えば、現代日本語など左から書く言語ではleft値がデフォルトとなります。
例えば、HTMLの<h1>要素において、内容を中央揃え(センタリング)したい場合は、
h1 {text-align: center;}
と記述します。
HTMLでの<div>要素などのalign属性と違って、内容となるテキスト(インライン要素)のみが行揃えの対象となります。
従って、内容となるブロックレヴェル要素は行揃えの対象とならないのが正しい実装です。
しかしながら、間違った実装となっているユーザエージェントも意外に多いのが実情です。
尚、ブロックレヴェル要素の位置揃えは、当該要素の左右の余白を調整する事で実現します。
justify値はサポートしない代わりに、記述言語の書字方向に従ってデフォルトの行揃えを使う事が許されております。
殆どのブラウザでは日本語文字を扱う場合にはjustify値は両端揃えにならず、左寄せとなります。
ネットスケープ 4.xでは、内容となるブロックレヴェル要素も行揃えの対象となります。
また、このプロパティを使うと、表示が崩れる事もあります。
インターネットエクスプローラでは、以下の例外を除いて、内容となるブロックレヴェル要素も行揃えの対象となります。
WAP 2.0では、justify値は必須ではありません。