• ベストアンサー

画面の改行ピッチを変えたいのですが・・・

今回初めて、CGIで画面を作ってますが、行間隔が広いので 画面に表示する行が短い気がするので、短くしたいのですが 解りません、例とかが有れば教えてください。

  • KIMV
  • お礼率10% (83/770)
  • CGI
  • 回答数3
  • ありがとう数0

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

  • ベストアンサー
  • ARC
  • ベストアンサー率46% (643/1383)
回答No.3

>上記のは perl で記述してる場合もok? OKですよ。普通に、前述のようなHTMLを吐かせればいいです。 ・・・っと、ポカミス発見。 (誤)doctype html public "-//W3C//DTD HTML 4.0//EN"> (正)<!doctype html public "-//W3C//DTD HTML 4.0//EN"> ですね。 PERLソース込みで書くと、 #!/usr/local/bin/perl print <<'OutputHTML'; <!doctype html public "-//W3C//DTD HTML 4.0//EN"> <html lang="ja"> <head>  <meta http-equiv="content-type" content="text/html; charset=Shift_JIS"/>  <meta http-equiv="Content-Style-Type" content="text/css"/>  <title>行間テスト</title>  <style><!--   body {line-height:120%} //BODYタグの内側の行間を1.2行にする   p {margin-top:0.5em; margin-bottom:0em}//pタグの上下の余白を調節する(上余白0.5字,下余白0字)  --></style> </head> <body>  <p>行1<br/>  行2<br/>  行3</p>  <!-- 一時的に行間を2行にする -->  <p style="line-height:200%">行4<br/>  行5<br/>  行6  </p>  <!-- 再び標準の行間 -->  <p>行7<br/>  行8<br/>  行9  </p> </body> </html> OutputHTML exit; です。 注意点としては、ヘッダの <meta http-equiv="Content-Style-Type" content="text/css"/> を削除しないで下さい。 あとそれから、全角空白を半角空白(もしくはTAB)に一括置換してやってください。 試してみましたが、全角空白のままだとレイアウトが乱れるみたいなんで。

KIMV
質問者

補足

たびたびありがとうございます。 でも上の通りしても代わらないのですが・・・ それとサンプルそのままだと2行目でエラーになってしまいます??? とりあえず 上のサンプルでがんばってみます

その他の回答 (2)

  • ARC
  • ベストアンサー率46% (643/1383)
回答No.2

行間を変更するには、スタイルシートを使います。 IE3以降、NN4以降で有効です。 doctype html public "-//W3C//DTD HTML 4.0//EN"> <html lang="ja"> <head>  <meta http-equiv="content-type" content="text/html; charset=Shift_JIS"/>  <meta http-equiv="Content-Style-Type" content="text/css"/>  <title>行間テスト</title>  <style><!--   BODY {line-height:120%} //BODYタグの内側の行間を1.2行にする  --></style> </head> <body>  <p>行1<br/>  行2<br/>  行3  </p>  <!-- 一時的に行間を2行にする -->  <p style="line-height:200%">行4<br/>  行5<br/>  行6<br/>  </p>  <!-- 再び標準の行間 -->  <p>行7<br/>  行8<br/>  行9  </p> </body> </html>

KIMV
質問者

補足

初心者で申し訳ないのですが、 上記のは perl で記述してる場合もok? そのまま移植してもうまく動かないもので・・・ 気をつける点とか有ればアドバイスを・・

  • inoue64
  • ベストアンサー率29% (334/1115)
回答No.1

<BR><BR> などと、 <BR>が続いている場合、 <BR>をひとつ消してみたらどうですか。

関連するQ&A

  • <TEXTAREA> 1行目の改行・・・。

    HTMLのほうがよいかASPがよいか迷ったのですが 『.asp』ファイル上での話なので、とりあえずココへ 質問させていただきます・・・。 現在、<Form>タグを使って次画面へ値の受け渡しをしています。 その時、<TEXTAREA>タグに入力された内容を 次画面でも<TEXTAREA>に表示させています。(ReadOnlyで) 1行目にイキナリ改行をした場合に、次の画面では その改行が詰まった状態で表示されてしまいます。 例)入力フォームで [1行目] [2行目]あああ [3行目]いいいいい と入れた後、次の画面に行くと [1行目]あああ [2行目]いいいいい になってしまいます。 1行目の改行もそのまま表示させたいのですが、 何か特別なことをさせないとダメなのでしょうか? (現在は特に何もしていません。Request.Formで拾ったものをそのまま表示させてます)

  • CGI出力での改行位置について

    表形式のデータをエクセルからテキストファイルでFTPし、そのデータをCGIで表示するものを作成中です。 FTPまで8割くらいできたところで、CGI(perl)に取り掛かり、まず、データの読み込みが出来ていることを確認するために、読んだデータをそのまま打ち出すルーチンをつくり、小さなデータで実行してみたところ以下の事象が起こりました。 ---- perlのコード(部分) ---- foreach $line (@lines) { @a = split(/,\t/, $line); foreach $a (@a) { print "<$a> "; } print "<br>\n"; } ------------------ @linesはデータの項目群(1行分)のイメージです。項目の区切り文字として「,\t」を使用しています。 ---結果のブラウザ表示の例(一部)--- <[Format]> <#FFFFFF> <#555555> <#F8F8FA> <true > ---------------------------- 表示された最後の項目(上例の場合true)の後にスペースが開いてしまいます。 いろいろ調べたところ、データには異常ない(スペースはない)ですし、試行錯誤して最後に気がついたのがブラウザ表示のソースを見ること ---ブラウザのソース--- <[Format]> <#FFFFFF> <#555555> <#F8F8FA> <true > <br> --------------------- となっており、ソースの改行がスペースの原因ということまではわかりました。 また、上記例は5項目ですが、行により項目数が違いますが、全行とも必ず最後の項目の右括弧(>)の前で改行されてしまっています。 CGI側からの出力は<br>の後の改行だけだと思っているのですが、なぜ最終項目だけ改行がはいるのでしょうか? しかも>の前に・・・ データはちゃんと読めているようなので、作業をすすめる上では問題ないのですが、どうも気になりますのでどなたかヒントをお願いします。(なお、サーバはUNIXのはずです。)

  • Seesaaブログで改行が思うようにいきません

    Seesaaでブログをしています。 リッチテキストエディタで記事を書いているのですが、改行が思うようにいかないんです。 編集画面では改行しただけのつもりが、実際のブログ上では1行空いてしまうことがあるんです。 (例) ○ 今日は朝から出かけてきました。   川辺の紅葉が綺麗でした。 × 今日は朝から出かけてきました。   川辺の紅葉が綺麗でした。 ブログ上や「記事の編集」の「確認する」の所ではたしかに1行空いていても、 実際に記事を書き込んでる場所にはその空きが表示されないので どうすれば意図しない1行の間を無くせるのか分かりません。 どなたかやり方をご存じでしょうか?

  • hotmail で改行が上手くいきません・・・

    とても基礎的なことなのですが、msnのhotmailでメッセージを作成中、改行をすると次の行ではなくもう1行分あいてしまいます。言葉では上手くいえないのですが… 例)とても基礎的なことなのですが、msnのhotmailで メッセージを作成中、改行をすると次の行ではなくも う1行分あいてしまいます。言葉では上手くいえない のですが… となってしまいます。すぐ次の行に改行出来る様にするにはどのように設定を変えればよいのでしょうか? 些細なことなのですがとても気になるので教えていただきたく思います。よろしくお願い致します。

  • 画面が出ない

    NEC PC-LL750/1K WinXP HE SP3 OE6 IE7 OFFICE 2002 一太郎2008 Norton2007, 画面では、Ms,Yi,Googleの表示ありの環境で使用してます。 だいぶ前から気がついていたのですが、インターネットの画面を見ている中で、個別にあるものを見ようとすると、下の方に「ページが表示されました」とコメントが出ますが画面がでません。画面半分ぐらいの青い枠が一度出ますがすぐ消えます。(Googleのポップアップを許可するは出ています)完全に見る方法を教えて戴きたくお願いします。 今回の一例:一太郎の「秘伝の奥義」の内、1-15の「見る」をクリックしても、音が少し出て画面になりません。

  • HTMLで開いたsrcの改行コードを調べる方法を教えてください

    cgiでHTMLを作成していますが、cgiを実行した時に HTMLで改行が2個入ってしまいます。 unix上のファイルをfgetsにて1行ずつ読み込んで そのまま出力しています。 改行コードを削除したいのですが、 表示しているHTMLのsrc内にある改行コードに何(どの改行コード)が入っているのか分からず、削除できません。 (fgetsで読み込んだ1行の最後に"\0"が入っていると思って、それを削除してみたのですが、駄目でした。このやりかたは間違えていますか?正しい方法を教えてください。) 宜しくお願いいたします。

    • ベストアンサー
    • CGI
  • 初歩的な質問。 WORDで2分の1改行をするには?

    WORDで3行を2行の間隔にするにはどうすればよいのでしょう? AAAAAA        11111        BBBBB       22222  CCCCCC        33333 とういうような3行を、2行の幅にして、 「BBBBB・222222」が真ん中にくるようにしたいのですが・・・  

  • Explorerの行間隔(Vista)

    Vista-SP2です。 Explorer画面でのフォルダやファイル表示の行間隔は、添付画像のように結構ゆったりしていますが、この行間隔を詰めて、引き締まった見栄えにする方法はないのでしょうか。

  • テキストエリアの改行を取得したい

    最近CGIを独学ではじめたのですが、複数行のテキストエリアからの文字列の取得をした場合、改行が反映されずに表示されます。 改行コードのようなものは取得されている、とちらりとどこかで見たことがあるのですが、どのように取得して改行させるかが分かりません。 すみませんが、ご存知の方がいらっしゃいましたら教えていただけないでしょうか。 このような感じで書きました。 my $cgi = CGI::new(); my $area = $cgi->param('text'); print "Content-type: text/html\n\n"; print $area;

    • ベストアンサー
    • CGI
  • 改行を読み飛ばす

    以下のようなファイルを読み込みたいのですが…. -------------------------------------------------- あいうえを かきくけこ さしすせそ たちつてと -------------------------------------------------- のように1行文字列があって,1行空白行(改行のみ)があって…のような繰り返しのファイルなんですが,空白行を読み飛ばして続けて -------------------------------------------------- あいうえお かきくけこ さしすせそ たちつてと -------------------------------------------------- のように表示させる場合はどのように書いたらよいですか? -------------------------------------------------- while(fgets(str,256,fpin)){   if(strcmp(str,"\n")!=0){    printf("%s\n",str);   } } -------------------------------------------------- と書いたのですが,空白行も表示されてしまいます. 何か間違えているでしょうか? それとも実はファイルの空白行は改行じゃないとかでしょうか?

専門家に質問してみよう