• ベストアンサー

TEXTAREAの1行あたりの文字数

お世話になります。 必要にせまられて、TEXTAREAの1行あたりの表示される文字数を25文字に固定したいのですが、自分のPCではきっかり25文字で折り返すのに、他のPCでは26文字数で折り返してしまいます。画面のプロパティのディスプレイの詳細にある、フォントサイズを『大きいフォント』を選ぶか『小さいフォント』選ぶかに原因があるように思われるのですが・・・・どの端末からでも25文字表示できる何か良い方法をご存知の方はおられないでしょうか?スタイルシートで文字間を指定してみましたが、結果は変わらずでした・・・不可能なのでしょうか?・・・・

  • ZAKI3
  • お礼率75% (9/12)
  • HTML
  • 回答数2
  • ありがとう数2

質問者が選んだベストアンサー

  • ベストアンサー
  • onimotsu
  • ベストアンサー率36% (279/758)
回答No.1

フォントサイズを変更しても 下記のタグであれば25文字で折り返しますね。 (半角25文字) <TEXTAREA rows="5" cols="25"></TEXTAREA> (全角25文字) <TEXTAREA rows="7" cols="48"></TEXTAREA> 全角の場合は「48」にしないといけないようです。

ZAKI3
質問者

お礼

>全角の場合は「48」にしないといけないようです。 『50』ではなく『48』ですか早速試してみます

ZAKI3
質問者

補足

なぜだかわかりませんが・・・・ フォントサイズをピクセルで指定して、かつサイズが偶数の場合、きちんと表示されるようになりました。 例) 13px→改行が25文字であったり26文字であったり 14px→25文字で改行 ご迷惑おかけしました

その他の回答 (1)

  • drmoreau
  • ベストアンサー率41% (33/79)
回答No.2

Internet Explorerの[ツール(T)]->[インターネットオプション(O)]の[全般]タグの[ユーザー補助(E)]の[Webページで指定されたフォントサイズを使用しない(Z)]という項目があります。ここにチェックが入っていると(私自身がやっていることですが)、Web作成者側のフォントサイズ指定をブラウザが無視するので、どんな環境でも、同じように表示するというのは、難しいと思います。 それよりもあなたのサイトを見に来られる人の立場にたって、ホームページを作成されるのがいいのではないでしょうか。 どうしても自分が作った通りに見てもらいたいというのであれば、ページの表示環境を注意書きを書いておくのがいいでしょう。 上に書いたような項目のチェックをはずしてくださいとか、フォントの文字サイズは、中で見てくださいとかいったものです。 ただ見る側から言わせてもらえれば、自分の環境を変えないで、正常に見られるサイトがベストですが。

ZAKI3
質問者

お礼

ご意見ありがとうございます。 言葉足らずで申し訳ございませんでした。実は入力フォームで字数制限をする場合、通常は全文字数100文字以内との表記をすべきなのですが、事情がありまして1行全角25文字×4行との表記をしなければならず、その場合、1行あたり正確に25文字表示されたほうが、入力者の混乱を招かないかと・・・26文字表示されてしまうと本人は4行ぴったしで入力したつもりでも、実際には26文字×4行で総字数をオーバーしてしまう・・・それをなんとか回避したい。そういう目的で質問させていただきました。

ZAKI3
質問者

補足

なぜだかわかりませんが・・・・ フォントサイズをピクセルで指定して、かつサイズが偶数の場合、きちんと表示されるようになりました。 例) 13px→改行が25文字であったり26文字であったり 14px→25文字で改行 ご迷惑おかけしました

関連するQ&A

  • javaScript textareaの一行あたりの入力文字数制限につ

    javaScript textareaの一行あたりの入力文字数制限について 1行あたり5文字しか入力できないtextareaを作成中です。 http://okwave.jp/qa/q1311128.html をアレンジして、自分で以下にように作ってみました。 これだと、最終行が5文字以上の場合は折り返して次以降の行に表示されるのですが、 最終行以外の途中の行に文字列を足すと、その分は、折り返して表示されません。(なくなってしまう)。 また、最終行にカーソルで移動して文字列を追加をすることはできますが、空白行(何も入力しない行)を入れることができません。 使い勝手は普通のテキストエリアと同じで、5文字入力すると自動的に改行するようなものを目指しているのですが、自分であーでもない、こーでもないといろいろやってみてもなかなかうまく行きません。。 なんとか、皆様のお知恵を拝借できないでしょうか。 なお、ブラウザはIEのみに対応でOKです。 よろしくお願いします。 ******************************************* 呼び出し元 ******************************************* (略) <tr> <td class="itemLabelBtm"> フリー入力欄 </td> <td class="display" colspan=""> <textarea cols="85" rows="4" name="memo" onkeypress="lineCheck();" style="overflow:auto" wrap="OFF"></textarea> <br> &nbsp;<font color="red">※1行には44文字まで入力できます。</font> </td> </tr> (略) ******************************************* スクリプト部分 ******************************************* function lineCheck(e){ var ta=document.getElementById("memo"); //一行に入力できる文字数 var col=5; //最後の改行をトリムする。 ta.value = ta.value.replace(/[\r\n]+$/,"") var lines=trim(ta.value).split("\r\n"); for(var i=0;i<lines.length;i++){ if(lines[i].length >col){ var temp = lines[i]; var tempLength = lines[i].length; lines[i]=lines[i].substr(0,col);//各行を指定した文字数に切り捨てる //最後の一行だけは、余った分を次の行に振り替える。 if(i==lines.length-1){ //何回振替を行えばよいか、計算する。 var furikaeNum = Math.ceil((tempLength - col)/col); var j; for(j = 1;j <= furikaeNum; j++){ lines[i + j] = temp.substring(col*j,col*(j+1)); } break; } } } ta.value=lines.join("\r\n"); } /*=================================================== 文字列両端の空文字トリミング ===================================================*/ function trim(str){ return str.replace(/^[  ]+/,"").replace(/[  ]+$/,""); }

  • textareaの一行の文字数制御

    textareaの一行あたりの文字数を制御、 もしくはカウントすることは可能でしょうか? (textarea全体の文字数ではありません。) cols="100"などと一行の文字数を制御しようとしましたが 横のスクロールバーを表示させると(WRAP="off") どうもうまくいきません。 良い方法をご存知の方がいらっしゃいましたら よろしくお願いします。

    • ベストアンサー
    • HTML
  • TEXTAREAにあらかじめ文字を表示させたい

    掲示板形式のCGIをダウンロードして、ど素人ですが自分なりに改造に挑戦しています。 表題の通り、TEXTAREAにあらかじめ文字を表示させたいのですが、うまくいきません。 <TEXTAREA rows=$row cols=$col name=$name_comment $css_style>$c_comment</TEXTAREA>\n"; 検索エンジンでやり方を検索してみても <TEXTAREA>ここに入力しておく</TEXTAREA> のやり方にしかたどり着けず・・・。 できれば、 (1) (2) (3) (4) (5) このように複数行をあらかじめ表示させたいと思っています。 どなたかご教授いただけると助かります。

    • ベストアンサー
    • Perl
  • お世話になってます。HTMLのTEXTAREAについて教えてください。

    お世話になってます。HTMLのTEXTAREAについて教えてください。 現在strutsで画面を作成しております。 画面はstrutsタグですが、htmlとたぶん変わらないと思ったのでこのカテゴリで 質問させて頂きました。 画面ではTEXTAREAに自動改行の設定をして使用しています。 そこで一行に入る文字数(バイト数)を指定したいのですが、 半角英数字と全角文字で一行に入るバイト数が違います。 半角数字ではTEXTAREAのプロパティ「cols」で指定したバイト数分入るのですが、 全角では1バイト多く入ってしまいます。 なんとか一行あたりのバイト数をそろえたいのですが、うまい方法が見つかりません。 どなたか、ご教授していただけると助かります。 よろしくお願いします!

  • 一行あたりの文字数指定・行番号の表示できるエデイター

    日本語用で ・一行あたりの文字数が指定できる(折り返し機能) ・行番号が表示できる(印刷時にも表示できる) Windows用のテキストエディターを探しています。 Jedit4.3 pre16に日本語化パッチを当ててみたのですが 行番号を表示するところまでは出来ましたが、 一行あたりの文字数指定がどうにも上手くいきません。 ソフトは特にJeditにこだわっているわけでなく 上記の2点が当てはまれば、問題ないです。 この条件に当てはまるようなソフト(勝手ながらフリーウェア)をご存知の方、 またはJeditで文字数指定をする方法をご存知の方いましたら 教えて下さい。

  • Word1行の文字数指定

    Word2013で 1行の文字数指定 および 1ページの行数指定を設定したのですが 実際に表示されるのは 設定より少ない文字数(設定37文字、実際33文字) 設定より少ない行数(設定26行、実際17行) になってしまいます。 設定通りに表示するにはどのようにすればよろしいでしょうか どうぞよろしくお願いいたします。

  • <TEXTAREA>の文字入力が自動改行されません

    私の環境はWindows8でIE11です。 実は私が作ったPerlの掲示板の<TEXTAREA>に文字入力をしようとしたら、自動改行されないのに気付きました。 ソースは、次の通りです。 <textarea name=comment cols=70 rows=12 wrap=soft style="font-size:15px"></textarea> どっかに問題があるのでしょうか? それとも、私のPCの環境のせいでしょうか? ちなみに、他のサイトの<TEXTAREA>だと私のPCでも自動改行されます。

  • textareaで入力できる文字数を制限したい。

    フォームについて質問させてください。 テキストフィールドで、シングルラインならば入力できる文字の最大数を maxlength で指定できるのですが、マルチラインの場合、同様に最大数を指定することはできないでしょうか? わかるかた、なにとぞご教授ください。 ■シングルラインでの文字数制限 <input name="thread_title" type="text" id="thread_title" size="80" maxlength="10"> ■マルチライン <textarea name="text" cols="64" rows="10" id="news_text" maxlength="10"></textarea> ↑上記のようにmaxlength入れても駄目でした。。。涙

    • ベストアンサー
    • HTML
  • TEXTAREA内の文字のフォントとサイズの変更をするには?

    ホームページビルダー8を使って作成しています。 更新履歴用のテンプレートをダウンロードして貼り付けて使っているのですが、タグのTEXTAREA内に表示する文字を書き込むようになっていました。 それだとMSゴシックで表示されるのですが、MS UI Gothicに変更したいのです。あと文字の大きさが大きいのでもう少し小さめにしたいのです。 TEXTAREA内や直近にFONTタグを入れてみたのですがダメでした。 どのようにすればよいでしょうか? 以下の“更新履歴”と“ここに文字”のフォント・サイズを変えたいのです。 <TEXTAREA rows="5" cols="35" style="border:none;background:#efebce scrollbar-arrow-color:#7b5121; scrollbar-3dlight-color:#7b5121; scrollbar-highlight-color:#efebce; scrollbar-shadow-color:#7b5121; scrollbar-face-color:#efebce; scrollbar-darkshadow-color:#efebce;">&lt;更新履歴&gt; ここに文字 ここに文字 ここに文字</TEXTAREA> よろしくお願いします。

  • textareaで入力した文字を改行したままで表示したいのですが。

    textareaに複数行で入力した文字を改行したままで表示したいのですが 改行されずに表示されます。 改行したままで表示するのはどうすればいいでしょうか? <HTML> <HEAD> <STYLE type="text/css"> <!-- INPUT {font-size: 12px;} --> </STYLE> <SCRIPT language="JavaScript"> <!-- function check(){ var strName; strName = document.nform.textN.value; var test = document.getElementById("test"); test.innerHTML = strName; } //--> </SCRIPT> </HEAD> <BODY> <FORM name="nform" > <textarea cols="30" rows="10" name="textN"></textarea> <input type="button" value=" 確認 " onClick="check()"> </FORM> <DIV id="test" style="position:absolute;font-size:24px;"> </DIV> </BODY> </HTML>

    • ベストアンサー
    • HTML