文字の等幅表示で困っています。
例えば次のような文で、右端の「|」が揃うようにしたいのですが、うまくいきません。
1234567812345678|
llllMMMMIIIIAAAA|
MMMMMMMM漢字AAAA|
IIIIIIII|
MMM<B>MM</B>MMM漢字AAAA|
MMM<a href="">MM</a>MMM漢字AAAA|
<tt>、<pre>、font-familyで等幅のフォントやmonospaceを選択しても、全角文字が半角文字より少し小さくなったりします。
IE6だけでも良いので揃えたいのですが、有効な方法をご存じの方がいらっしゃいましたら教えて下さい。
No.6ベストアンサー
- 回答日時:
Win2000+IE6、解像度1280*1024です。
興味深いので実験してみましたら、面白いことを発見しました。
<pre style="font-size:12pt;">
void main
{
printf("hello\n"); /* この3行のコメントと */
printf("こんちわ\n"); /* このコメントが */
/* ずれないようにしたい */
}
</pre>
のように書いて(上ではインデントは消えていると思いますが、半角スペースでprintfの頭とコメントの始端終端を揃えています)、font-sizeの値をいろいろ変えて、それぞれ試してみました。
その結果、このような事実が判明しました。
・サイズをemで指定……1emだと揃う。それ以外(0.9emとか1.2emとか)だとずれる。
・サイズをpxで指定……偶数値なら揃う。奇数値はずれる。
・サイズをptで指定……12ptなら揃う。
・サイズを%で指定……揃わない。
※em、%に関しては、ブラウザの文字サイズ指定を最小~大まで変えて確認しています。
どうしてこうなるのか全くわからないのですが、ご参考になれば。解像度を変えるとまた違ってくるかもしれませんが……
No.10
- 回答日時:
No.9のyayopixです。
よく読んでみるとぜんぜん意味が違いましたね。
失礼しました・・・。
とんちんかんついでに・・
次のも、無視して下さい・・。
途中からこれも意味が違うことに気づいたのですが・・
<body>
<p>void main<BR>
{<BR>
printf("hello\n");<span style="margin-left:50px;">/* この3行のコメントと */</span><BR>
printf("こんちわ\n");<span style="margin-left:21px;">/* このコメントが */</span><br>
<span style="margin-left:159px;">/* ずれないようにしたい */</span><BR>
}
</p>
</body>
これで終わりにします・・
最後まで失礼しました・・・m(_ _)m
No.9
- 回答日時:
こんにちは!
回答のやり取りを読んでいるとどちらのことか解らなくなってしまったので、両方書いておきます。
<head>
<style type="text/css">
<!--
.haba25 {
text-align:justify;
text-justify:distribute-all-lines;
width:25em;
-->
</style></head>
<body>
<p class="haba25">Windows版IEの5~6のみの対応です。</p>
<p class="haba25">Mac版のIEにも対応していません。</p>
<p class="haba25">1234567812345678</p>
<p class="haba25">llllMMMMIIIIAAAA </p>
<p class="haba25">MMM<b>MMMMM</b>漢字AAAA</p>
<p class="haba25">MMM<a href="untitled4.htm">MMK</a>MMM漢字AAAA</p>
<p style="text-align:justify; text-justify:distribute-all-lines; width:16em;">1234567812345678</p>
<p style="text-align:justify; text-justify:distribute-all-lines; width:16em;">llllMMMMIIIIAAAA</p>
<p style="text-align:justify; text-justify:distribute-all-lines; width:8em;">IIIIIIII</p>
<p style="text-align:justify; text-justify:distribute-all-lines; width:15em;">MMM<b>MMK</b>MMM漢字AAAA</p>
<p style="text-align:justify; text-justify:distribute-all-lines; width:14em;">MMM<a href="#">MM</a>MMM漢字AAAA</p>
</body>
上6行がすべて同じ幅になります。
<head>内のCSSで制御しています。
幅の広さは width:25em の数字で決めます。
下5行が等幅?です。
それぞれの<p>タグ内にCSSを入れています。
それぞれの行のwidth:**em の数字に文字数を入れています。
どちらも違うかな~・・
いずれもWinIEの5~6のみの対応です。
No.8
- 回答日時:
なぜ固定幅フォントを使っているのにずれるのか? ということに関しては、こちら
http://support.microsoft.com/default.aspx?scid=k …
もっとも確実な解決策は、
<pre style="font-size:16px;">
のようにフォントサイズに偶数のピクセル数値を指定することです。
奇数のピクセル数は2で割り切れないので縦横の比がちょうど2:1になりません。
参考URL:http://support.microsoft.com/default.aspx?scid=k …
自分で探してみたときは見つけることができませんでしたが、やはりマイクロソフトのサポートにありましたか…
dpiが関係しているんですね。
情報ありがとうございます。
No.5
- 回答日時:
「|」を全部頭につけておいて left で移動させる
のは邪道ですか?
<STYLE type="text/css"><!--
.left
{left: 400px; position: relative; }
--></STYLE>
「400px」の部分は適当に変えて下さい。
<SPAN class="left">|</SPAN>1234567812345678
<SPAN class="left">|</SPAN>llllMMMMIIIIAAAA
すみません。例が悪かったです。
やりたい事は「|」を揃える事ではなく、
全角半角の混じった文章を、全角1文字=半角2文字となるよう、
等幅で綺麗に表示する事でした。
現状、WinXPなら、太字を除けばpreタグで綺麗に揃うという所まで教えて頂きました。
お手数をお掛けしました。ありがとうございます。
No.2
- 回答日時:
テキストエディタ等で、半角スペースを使って整えて、<per>できちんと表示されませんか?フォントを指定しなくても、デフォルトスタイルシートでは<pre>は等幅フォントになっていると思います。
それとも、コメントの前には半角スペースを1つしか入れないのかな?
この回答への補足
(nakachie様への返答の例は半角スペースを入れていたのですが、消えてしまったようです。ちゃんと確認すれば良かった…すみません。)
テキストエディタ上ではちゃんと整えているのですが、
preタグを使うと、MSゴシック、monospaceの場合、
全角文字がほんの数ドット小さくなってしまいます。
特にボールドを使うとぐっとずれます。
さらに面白いことに私の環境(Win2K+IE6)だと、ブラウザの文字のサイズを大または小にするとずれませんが、それ以外(最小、中、最大)にするとずれます…
もしかして他の環境なら大丈夫なんでしょうか?(汗)
ちょっと知り合いに送って試して貰ってみます。
No.1
- 回答日時:
<table>タグで各セルに埋め込むのはやってみましたか?
例で行けば、2列6行の表を作り、1列目を文字、2列目を|にするのはダメでしょうか。。
やりたいことは、「|」を揃える事ではなく、全角半角混じった分を等幅で出すことです。
具体的にはソースコードなどインデントとコメントが付いた文章をHTML化する事です。
【例】
void main
{
printf("hello\n"); /* この3行のコメントと */
printf("こんちわ\n"); /* このコメントが */
/* ずれないようにしたい */
}
ですので位置合わせしたい部分を全てtableタグで書くのはちょっと難しいです…
質問の仕方が悪かったですね。すみません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 政治 私の発明した「二階建て漢字」は使えるでしょうか? 3 2023/02/08 16:40
- Excel(エクセル) エクセルの数式で教えてください。 3 2022/10/25 10:52
- Excel(エクセル) capeofdragonと申します Excel2016を使っておりまして 半角又は全角の任意文字列が 2 2022/10/31 13:51
- Visual Basic(VBA) 特定の文字を簡単な操作で半角スペースに変換するか削除したい 2 2022/11/01 10:35
- Visual Basic(VBA) VBA 「,」・空白・カタカナ等の複数条件のマクロ 2 2023/08/23 11:57
- Excel(エクセル) エクセルの数式で教えてください。 1 2023/02/02 10:20
- Android(アンドロイド) 海外のAndroid 端末の場合、日本語全角は、どう表示されるのでしょうか? 1 2022/10/02 21:16
- その他(ソフトウェア) ソースネクストアプリをインストールし、製品登録で半角英数字が入力できない 5 2022/07/03 22:44
- Visual Basic(VBA) エクセルの数式で教えてください。 1 2023/07/31 15:49
- その他(データベース) Accessのクエリで1フィールドの抽出条件設定をNullでなく全角半角含む空白のみの文字列でない文 1 2023/04/24 15:20
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
fontサイズ指定の ”-(マイナ...
-
Format 関数 表示書式指定文字...
-
API Sleep関数について
-
全角半角含めて等幅で表示したい
-
リストの前後の行間をなくす方...
-
テキストエリア内の文字の装飾
-
HTMLで特定の文字だけ色を変え...
-
セレクトボックス内の文字の文...
-
指定の文字だけ色を変える
-
FireFoxで"display = none"を指...
-
遊明朝のプロポーショナルフォ...
-
リンク文字
-
フォントの種類や大きさを文字...
-
HP作成でリストの上にマウスが...
-
outlook 文字を揃えたい。tab...
-
マイクロ(μ)の文字を半角で出...
-
教えてください。
-
入力規則のリストの文字の大き...
-
ペイント3Dのテキストサイズ変更
-
Illustratorで作成、pngで保存...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
CSSについて教えてください。 ...
-
文字の位置、上下のマージンが...
-
リストの前後の行間をなくす方...
-
Format 関数 表示書式指定文字...
-
HTMLで特定の文字だけ色を変え...
-
全角半角含めて等幅で表示したい
-
特定の文字のみcssを適用するに...
-
ホームページビルダー作成HPがi...
-
テキストファイルの行を指定し...
-
リンク文字
-
アコーディオンメニューが思う...
-
テキストエリア内の文字の装飾
-
API Sleep関数について
-
Excel VBA メール作成について ...
-
<pre>のフォントサイズを指定す...
-
上付き文字と下付き文字を同時...
-
指定の文字だけ色を変える
-
background-color: #ddd;の意味...
-
CSSを一部無効にしたい
-
h1タグのパンくずリストへの設置
おすすめ情報