- ベストアンサー
3点リーダーの作り方
HTMLまたはCSSなどを用いて、文字列間を3点リーダーで埋める方法を考えています。 例えば くだもの……………………りんご 野菜…………………………人参 肉……………………………豚肉 のように左右の項目を「…」でつなぎます。文字列がすべて全角の場合には、「…」の数を調節して、頭合わせが出来ます。しかし、半角英数が入っている場合には文字列の幅が一定しないため、文字列の縦をそろえることができません。 くだもの……………………りんご Books…………………………雑誌 野菜…………………………人参 Fishes………………………さば ↑頭がそろわない。 別の例で言えば、本の目次では見出しとページ番号を3点リーダーでつなぎますが、それと同じことをやりたいと思っています。 なにか良い方法がありますでしょうか。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
1.三点リーダーを背景画像にする。 2.見出しにあたるもの入力 3.後ろにつくもの(ページ番号にあたるもの)を上にあわせて位置調整、かつ右揃えにする。 1.の背景画像はブロックで、2・3はインラインで背景を本物の背景色と合わせるというのはどうでしょう?
その他の回答 (3)
無理矢理なら <div style="width:200px;"> <div style="width:5em;float:left;">林檎</div>………… 実験<br> <div style="width:5em;float:left;">夏みかん</div>………… 実験<br> <div style="width:5em;float:left;">バナナ</div>………… 実験<br> </div> こんな方法もあるのではないかと思いますが、どうでしょうか。
お礼
回答ありがとうございます。 試してみましたが、3点リーダーが「林檎」のすぐ右側まで届いていませんでした。左側の文字列の長さに応じて3点リーダーの長さが変化することを希望しています。 ほかに方法がありましたら、よろしくお願いいたします。
#1さんの言うとおり等角フォント使わないとどうせずれるんですが、そのためにフォント指定されても見るほうからすればね… どうしても揃えたくてなおかつ等角使いたくないのであれば、テーブルに入れて無理やり揃える。 私は『テーブルでレイアウト』否定派ですが、質問者さんが気にしないのであればどうぞ。
お礼
回答ありがとうございます。 テーブルレイアウトでかまわないのですが、左右の項目間をどうやって3点リーダで繋ぐかに付いて悩んでいました。 No.3の方のアイデアと合わせると実現できそうです。
- yambejp
- ベストアンサー率51% (3827/7415)
そんなもの、奇数の半角文字の後ろに半角スペースをいれれば済むのでは? まあ等角でやらないとどっちにしろずれるので、その調整は必要ですが。 <div style="font-family:monospace;"> くだもの……………………りんご<br> Books ………………………雑誌<br> 野菜…………………………人参<br> Fishes………………………さば<br> </div>
お礼
ご回答ありがとうございます。 可能ならば、等幅フォントを使わずに実現したいと思っています。 ほかに良いアイデアがありましたらよろしくお願いします。
お礼
回答ありがとうございました。 No.2の方の回答と合わせて、実現できそうです。 ・頭はtableでそろえる。 ・3点リーダーは<td>の背景画像で描く。 ・左側の文字列の背景を白色にする。 です。 <table> <tr> <td width="200px" style="background-image:url('dot.gif'); background-repeat:repeat-x;"> <span style="background-color:white;">くだもの</span> </td> <td>りんご</td> </tr> <tr> <td style="background-image:url('dot.gif'); background-repeat:repeat-x;"> <span style="background-color:white;">Books</span> </td> <td>雑誌</td> </tr> </table>