CGI:HTML表示結果のカスタマイズとタグの隙間

このQ&Aのポイント
  • CGIのHTML表示結果をカスタマイズする方法と、タグの隙間ができる現象について質問です。
  • CGI配布元のリンクラリーを使用してwebスタンプラリーを作成中ですが、表示が思うようにできません。
  • 15マスの一覧表を作成する際にタグの隙間が発生してしまい、スタンプの表示がずれてしまいます。また、指定したID名にゲットスタンプを表示する方法も試しましたが、うまくいきません。5×3の表示順にスタンプを表示する方法が知りたいです。
回答を見る
  • ベストアンサー

CGI:HTML表示結果のカスタマイズとタグの隙間

お世話になります。 CGIはフリー配布されているものをわずかに触る程度の初心者で、足りないことを申し上げてしまうと思いますが教えていただけますと嬉しいです。 今、「リンクラリー」というフリー配布のCGIをさわっています。 これをベースにwebスタンプラリー(リンクバナーをスタンプ画像にしたり)として何とか雰囲気だけは近づけたのですが、どうしても表示を思うようにできなかったり、「どうしてこここにこの隙間ができるんだろう…」と自分では解明できない状況が生じました。 CGI配布元様:http://exdreams.net/room/contents/e_lrarry.html (1)進捗を確認する「user_rarrylist.html」の一覧表を、5列×3行(15マス)として表示したいのですが、<!--START RARRY LIST--><!--END RARRY LIST-->で繰り返し処理(スタンプゲット)を挟むと、次の処理との間に隙間ができてしまいます。 TABLEで背景画像(スタンプシート)とWIDTHを指定していますが、ゲットしたスタンプ(IMG)がずれていきます(背景とうまく重ならない)。 ●TDタグ使用→TDタグで15個生成されるため、横に15マスの長い表ができてしまう。 (2)指定したID名にゲットスタンプを放り込む、などという方法は思いついても、実現可能かどうかさえ分かりませんでした。 (2)DIVタグのID属性(名前)を利用して、ボックスの表示・非表示をコントロールすることは可能でしたが、やはり隙間の問題と、思った順番(スタンプA→ボックス1に表示)することができませんでした。 (1)(2)(3)(4)(5) (6)(7)(8)(9)(11) (12)(13)(14)(15)(16) このように「5×3」で番号順に(ゲット順に影響受けず)表示ができればと思っております。 もし可能であれば、教えていただけますと嬉しいです。 よろしくお願いいたします。

  • CGI
  • 回答数1
  • ありがとう数14

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

  • ベストアンサー
  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.1

普通にリストとしてマークアップして、スタイルシートでフロートさせれば良いです。 文書の整形のためにtableを使用するのは禁忌でもあるし・・ 『単に文書内容を整形する目的だけで表を用いるべきでない。( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html401j/struct/tables.html#h-11.1 )』 『ページレイアウトの目的で表を用いる。( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html401j/present/styles.html#h-14.1 )』  それを、ウィンドウ幅に合わせて伸縮させれば良いです。mediaquery使ってウィンドウ幅で列数を変更することも可能になります。 [例] <ol id="PartyList">  <li>内容</li>  <li>内容</li> ・・・ ol#PartyList,ol#PartyList li{list-style:none;margin:0;padding:position:relative;} ol#PartyList li{width:19%;float:left;}

okpokapoka
質問者

お礼

早速のご回答をありがとうございました。 実装してみましたところ、イメージ通りの一覧表が完成いたしました! 本当に感動しました。CGIのいじり方ばかりに気をとられ、タグでどこまで表現できるのかに盲目しておりました。 TABLE使用の記事につきましても大変参考になりました。今後のサイト作りの際に気を付けたいと思います。 この度は本当にありがとうございました。またお目にかかる機会がございましたらぜひご教授よろしくお願いいたします。

関連するQ&A

  • CGIのtextareaへのタグの表示

    CGI(Perl)でWebのメモ帳のようなプログラムを作っています。 何種類かのHTMLタグの使用もできるようにしてあり、更に タグ説明のために &lt; &gt; などを記入することもあります。 初回の記入をそのまま表示させる場合は問題ありませんが、一度記入した内容を 編集のためにブラウザに再表示させ、更にそれを更新すると タグの <> と &lt; &gt;が どちらも <>に変換されてしまい、説明中の HTMLタグ文字列がタグになってしまいます。 例えば A: 最初の記入時「&lt; a href・・・ &gt; はリンクタグ」などと記入してアップロード B: サーバーログには「&lt; a href・・・ &gt; はリンクタグ」のまま記録される C: 編集のためにその記事を再表示させるとブラウザが「<a href・・・ >はリンクタグ」 と表示する D: 別の部分を編集後再アップロードするとログには <a href・・・ > がタグとして記録される E: 以降の表示では <a href・・・ > の部分がリンクタグとして扱われ「はリンクタグ」にリンクがかかる というような問題に悩んでいます。 textarea 内では <code>タグも使えなさそうで・・・ 思案の末、 textarea への送信時だけ 「 &lt; 」を 「<<」などとして送信し、CGIが「<<」を受け取ったら &lt; に変換してログ記録する などのローカルな方法を考えましたが、あまりスマートではないかと。 定石のような方法はないのでしょうか?

    • ベストアンサー
    • CGI
  • <h3>タグと画像の隙間をなくしたい

    無料ホームページテンプレート『template party』(URL https://template-party.com/db_template/?act=list&ord=1&kind=1&limit=100&html=list_all.html&top=0&page=2)の『tp_kids4_blue』というテンプレートを私用させてもらっています。 <h3>タグ(青い線で囲まれて表示されている)の下に画像を表示させた際に、隙間ができてしまいます。 この隙間をなくし、青い線と画像をくっつけて表示させたいです。 どのようにすればいいのか具体的に教えていただけると助かります。 よろしくお願いします。 多分CSSで設定するのだろうと思い、カテゴリを設定しましたが、違っていたらすいません。

    • 締切済み
    • CSS
  • 隙間が空かないタグ

    メロメロパークのメロメロLinkRingというものを設置しバナーを表示させたいのですが、ランキングのバナーとメロメロLinkRingの間にラインを入れ綺麗に見せたいのですが、どうしてもラインの上だけ隙間が空いてしまいます。 http://miuna.main.jp/meromoflove.html こちらのサイト様を参考にしながらしたのですが、ダメでした。 何が原因でラインの上だけ隙間が空いてしまうのでしょうか? 下記のタグはアップ先のURLやIDだけ伏せています。 <a href="ランキングURL"target=_blank title="メロ*2ランキング参加ちぅ♪"><img src="merojp.gif"></a> <br> <IMG src="moflinklinebar.gif" width="140" height="6" border="0"> <br> <img src="meromerolove.gif" width="140" height="34" border="0" usemap="#meromerolove"> <map name="meromerolove"> <area href="http://www.webring.ne.jp/cgi-bin/webring?ring=mero;list" shape="rect" coords="6,5,39,31" title="メロ★メロRing"> <area href="http://www.webring.ne.jp/cgi-bin/webring?ring=mero;id=私のID;prev" shape="circle" coords="110,11,6" title="Prev"> <area href="http://www.webring.ne.jp/cgi-bin/webring?ring=mero;id=私のID;next" shape="circle" coords="119,24,6" title="Next"> <area href="http://www.webring.ne.jp/cgi-bin/webring?ring=mero;random" shape="circle" coords="131,16,6" title="Random"> <area shape="default" nohref></map> よろしくお願いします<(_ _)>

  • CGIの編集(ログ表示を降り順から昇り順に)

    以前、ある掲示板スクリプトでのログ表示を降り順から昇り順(新規書き込みが以前の書き込みより上に表示されるのを下に表示したいと言うモノです)に変更する方法をお伺いしたのですが、他のスクリプトでも同様のコトをしたいと考え試みたのですが、よく解りませんでした。 CGIスクリプトでこの処理をさせている場所と言うのは主にどのように書かれているのでしょうか? たぶん複数の記述方法があるかとは思いますが、できればポピュラーなモノをいくつか教えて頂ければと思っております。 また、掲示板と同じ作者(のカスタマイズ再配布版)のリンクCGIなのですが、同じ作者でも記述方法は異なるモノなのでしょうか?

    • ベストアンサー
    • CGI
  • tableタグについて

    tableタグの挙動について教えてください。 下記のタグで、tableの幅は240pxにしたいのですが、 ブラウザ表示(Chrome)では230pxとなりました。 この10pxの隙間はどこで発生しているのでしょうか? どうぞよろしくお願いします。 ーーーーHTMLーーーーー <body style="width:240px;margin:0 auto;"> <div class="list-box"> <table width="240" border="0" cellspacing="0" cellpadding="0"> <tbody><tr> <td>テキスト/td> <td>テキスト/td> </tr> </tbody></table> </div> </body> ーーーーCSSーーーーー .list-box{margin:0 auto;} .list-box table{ width:100%;} .list-box table td:first-child{ background:#900;} .list-box table td:last-child{ background:#069;}

    • ベストアンサー
    • CSS
  • 掲示板(CGI)の任意の場所の表示

    現在、CGIの掲示板をメニューからリンクでフレームに表示するようにしてるんですが、新規書き込みが表示されるように(例えば20行目からとか)ということがタグ(リンクのコマンド)でできるでしょうか? よろしくお願いします。

  • cgiで表示したフレームに結果を表示したい

    cgiで作成した画面でフレームを左右に分割したのですが、 内容が表示できません。 cgiで作成したフレーム分割した画面に 結果を表示させる方法を教えてください。 (cgiの記述の仕方が間違えているのか?  htmlの<frameset>、<frame>タグの設定の仕方が悪いのか?  そもそも全体の流れの考え方が間違えているのか?  分からず、行き詰ってしまっています…。) どうか宜しくお願いいたします。 ■作成したファイルは下記のような仕様です。 TEST.html :ボタン操作で、AAA.ccを実行する。 AAA.cc   :作成した画面上のリンクをクリックすることでBBB.ccを実行する。         画面は左右にフレーム分割し、         左側フレームにAAA自身の実行結果として取得したファイルのリストを         右側フレームにファイルリストでリンクした画面を表示させる。 BBB.cc  :AAAから指定されたリンクを加工して開く。 ■ファイルの内容は下記のような感じです…。 >>>TEST.html <form action="**パス**/AAA"> <input type="hidden" name="path" value="**AAAに渡すデータ**"> <input type="submit" value="リスト"> </form> >>>AAA.cc cout << "<frameset cols=\"30%,*\">" << endl; cout << "<frame src=\"**パス**/\" name=\"listA\">" << endl;  :(省略) cout << "<a href=\"**パス**/BBB?path=" << BBBに渡すデータ << "\" target=\"ContensB\" >" << endl;  :(省略) cout << "<frame src=\"**パス**/\" name=\"ContentsB\">" << endl; cout << "<html>" << endl; cout << "<head>" << endl; cout << "<title>Contents</title>" << endl; cout << "</head>" << endl; cout << "<body>" << endl; cout << "</body>" << endl; cout << "</html>" << endl; cout << "</frameset\">" >>>BBB.cc  :(省略) cout << getContents() << "<br>" << endl;  :(省略) どうか宜しくお願いいたします。

    • ベストアンサー
    • CGI
  • 掲示板CGIで古い順ではなく新着順で表示させたい

    【CGI名】簡易データベース 【配布先】http://www.rescue.ne.jp/cgi/database/(cgirescue) 仕様では古い順に表示されるのですが、 それを新着順で表示したいのです。 以下の部分を編集すれば良いと思うのですが、どなたかお願いしますm(__)m もし、この部分以外の変更が必要な場合は、大変ご面倒ですが、 上記サイトからダウンロードお願いします。 宜しくお願いします。 foreach $data (@NEW) { ($d,$DATE,$NAME,$EMAIL,$SEX,$AGE,$HANDLE,$PREF,$REM) = split(/\,/,$data); print "<tr>\n"; print "<td nowrap>$DATE</td>\n"; print "<td nowrap>$NAME</td>\n"; print "<td nowrap><a href=\"mailto:$EMAIL\">$EMAIL</a></td>\n"; print "<td nowrap><center>$SEX</center></td>\n"; print "<tdnowrap><center>$AGE</center></td>\n"; print "<td nowrap>$HANDLE</td>\n"; print "<td nowrap>$PREF</td>\n"; print "<td>$REM</td>\n"; print "</tr>\n"; }

    • ベストアンサー
    • CGI
  • PerlのCGIの中で画像表示(html)

    PerlのCGIスクリプトの中で<img src="">タグで画像を表示させようとしても 表示されません。 URLは間違っていないと思います。ためしに同じディレクトリに画像を持ってきてもダメでした。 [ソース 部分] print << "HTML_1"; <tr> <td><img src="./test.jpg"></td> </tr> ・ ・ ・ HTML_1 ; どういう原因が考えられるでしょうか? また、同じようなことが以前にあった方、解決方法などお願いします。

  • ディレクトリ内のファイルを一覧表示するCGIを探しています

    指定したディレクトリ内にあるファイルを一覧表示しリンクを自動で作ってくれるCGIを探しています 自分で探してみたところ、いくつか見つけられたのですがなかなか条件にあうCGIが無かったので・・・ ↓こんなの探してます ・携帯でも見れるシンプルなもの ・ファイルの並び順(名前順や最新順)を設定できる  ↑観覧者が自由にソートするのではなくサーバー側(?)で決めれる ・1ページに表示するファイルの数を設定できる ・指定ディレクトリ内にディレクトリがあった場合それもリンク あとできれば画像ファイルを開いたときに「進む」で次のファイルに移動などの機能があればうれしいです どうかよろしくおねがいします・・・

    • 締切済み
    • CGI

専門家に質問してみよう