- 締切済み
複数行テキストの文字間揃えについて
HTMLを組んでいて、どうしても自力で解決できない事が出てきたので質問させて下さい。 テーブルの作り、その中に箇条書きの文章を3つ、 改行を入れて3行に入れています。(左揃え) 各文章は文字数が違うので、もちろん右端には揃っていません。 それを、右端・左端にきっちり揃えたいんです。 その為には、一番長い文章に合わせて他の2つの文章の文字間を 調整する必要があると思うのですが、どのようにしたらいいでしょうか? どうかご教授下さいませ。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
おそらくCSSでの表現が必要となると思います。 もっとも簡単にやるにはスペースを空けることです。 <pre> A の 文 A Bの 文 ABCの文 </pre> とすれば等間隔ではないですが、とりあえず左端と右端は揃います。 スペースは全角と半角で調整してください。 等間隔にしたい場合はCSSが必要です。 <style type="text/css"> .spas{letter-spacing:15pt;} .spas2{letter-spacing:10pt;} </style> などと<HEAD>~</HEAD>の間に入力します。 あとは<TABLE>~</TABLE>を以下のようにします。 <table> <tr><td class=spas>Aの文</td></tr> <tr><td class=spas2>ABの文</td></tr> <tr><td>ABCの文</td></tr> </table> たぶんこれで等間隔になります。 あとは左端と右端が揃うようにptを調整してください。
- goulan
- ベストアンサー率46% (23/50)
IE限定というのは、5から用意されているものですね。 例えば、 <div style=" width: 200px; text-align: justify; text-justify: distribute-all-lines;"> <p>aaa</p> <p>bbbbbbbbbbbbbbbbbbb</p> <p>cccccccccccccccc</p> </div> table 内部の場合、巧くはいきません。 No.1さんと同じく、これはお勧めできません。 どうしても、均等割り付け表示するならば、 ul.TT { font-size : 11pt; font-weight : normal; font-family : "MS ゴシック", monospace; width : 300px; } 子の箇条書きは個々に文字間、ワード間を調整するしかないでしょう。 例えば、 ul.TT li.T1 { word-spacing : 1em; letter-spacing : 3px; } ul.TT li.T2 { word-spacing : 1em; letter-spacing : 6px; } .......以下、箇条書きの文字数に対して、表示を確認しながら細かな調整をすることになります。
お礼
なるほど。 一つ一つの文章に文字間を設定する方法ですね。 ここまで手間のかかることをしなければならないほど 文字をそろえる必要があるのか謎になってきましたf(^_^; でもいろんな方法があることが分かり、勉強になりました! ありがとうございます。
- yambejp
- ベストアンサー率51% (3827/7415)
いわゆる「均等割付」ですね? (しかも長いのにあわせるというのはやっかいな命題ですね) おそらく結論としては「できません」。 そもそもHTMLとはそのような過剰修飾をするのが目的ではないので。 ブラウザによって姑息な手段が用意されている物もありますが まっとうに使えそうなものはあまりなさそうです。 どうしてもやりたいというなら・・・ 「そういった画像を用意する。」 というのが間違いないかと。
お礼
ご回答ありがとうございます。 あー、無理なんですね・・・。 ”均等割付”で調べてみると、IE限定だとなんとか できるみたいですが、他のブラウザとの互換性がないので実用性はないですね。 多少のズレに目をつぶるか、画像使用も検討してみます。 ありがとうございました。
お礼
そういわれてみると<pre>もありましたね。 ptの調整は、文章のズレが微妙なせいかうまくいきませんでした・・・。 もう、気にしない方向で行こうと思います。 ありがとうございました!