• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:テーブルを使わずにコーディングをしたい)

テーブルを使わずにコーディングをしたい

このQ&Aのポイント
  • テーブルを使用せずに、添付の画像のようなページを作成する方法について教えてください。
  • 青や黄色の四角を一枚の画像として背景に指定し、プルダウンのタブを四角の下に配置したいが、位置の問題があります。
  • position: absolute; や position: relative; を使用しても、CSSの複雑さにより位置がブラウザによって変わってしまいます。他にどのような方法があるでしょうか?

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

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

色が背景色の場合。もっと簡単かな <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html lang="ja"> <head> _<meta http-equiv="content-type" content="text/html; charset=Shift_JIS"> _<title>サンプル</title> _<meta name="author" content="ORUKA1951"> _<meta http-equiv="Content-Style-Type" content="text/css"> _<link rev="made" href="mailto:oruka1951@hoge.com" title="send a mail" > _<link rel="START" href="../index.html"> _<style type="text/css"> <!-- div.section{position:relative;width:80%;min-width:600px;max-width:900px;margin:0 auto;} div div{width:26%;} div div div{width:100%;} div.column{position:absolute;left:0;top:0} div.column div{padding:0.5em 1em;} div.n2{left:33%;} div.n3{left:66%;} div.column div p{padding:0 1em;} div.column div.product p{background-image:url(./images/blue.gif);} div.column div.books p{background-image:url(./images/green.gif);} div.column div.note p{background-image:url(./images/orenge.gif);} div div div p{width:100%;line-height:30px;margin:0;text-indent:1em;} --> _</style> </head> <body> _<h1>サンプル</h1> _<div class="section"> __<form action="./"> __<div class="column n1"> ___<div class="product"> ____<p> _____なんたらかんたら、 ____</p> ____<p> _____なんたらかんたら、なんたらかんたら、なんたらかんたら ____</p> ____<p> _____なんたらかんたら、 ____</p> ____<select name="m1" tabindex="1"><option selected>選択してください。<option>テスト</select> ___</div> ___<div class="product"> ____<p> _____なんたらかんたら、なんたらかんたら、なんたらかんたら ____</p> ____<p> _____なんたらかんたら、 ____</p> ____<p> _____なんたらかんたら、 ____</p> ____<p> _____なんたらかんたら、なんたらかんたら、なんたらかんたら ____</p> ____<p> _____なんたらかんたら、 ____</p> ____<p> _____なんたらかんたら、 ____</p> ____<p> _____なんたらかんたら、 ____</p> ____<select name="m2" tabindex="2"><option selected>選択してください。<option>テスト</select> ___</div> __</div> __<div class="column n2"> ___<div class="books"> ____<p> _____なんたらかんたら ____</p> ____<p> _____なんたらかんたら、 ____</p> ____<p> _____なんたらかんたら、なんたらかんたら、なんたらかんたら ____</p> ____<p> _____なんたらかんたら ____</p> ____<p> _____なんたらかんたら、なんたらかんたら、なんたらかんたら ____</p> ____<p> _____なんたらかんたら ____</p> ____<p> _____なんたらかんたら ____</p> ____<select name="m3" tabindex="3"><option selected>選択してください。<option>テスト</select> ___</div> ___<div class="product"> ____<p> _____なんたらかんたら ____</p> ____<p> _____なんたらかんたら ____</p> ____<p> _____なんたらかんたら、なんたらかんたら、なんたらかんたら ____</p> ____<select name="m4" tabindex="4"><option selected>選択してください。<option>テスト</select> ___</div> __</div> __<div class="column n3"> ___<div class="note"> ____<p> _____なんたらかんたら、なんたらかんたら、なんたらかんたら ____</p> ____<p> _____なんたらかんたら、 ____</p> ____<select name="m5" tabindex="5"><option selected>選択してください。<option>テスト</select> ___</div> ___<div class="product"> ____<p> _____なんたらかんたら、なんたらかんたら、なんたらかんたら ____</p> ____<p> _____なんたらかんたら、なんたらかんたら、なんたらかんたら ____</p> ____<p> _____なんたらかんたら、 ____</p> ____<p> _____なんたらかんたら、 ____</p> ____<p> _____なんたらかんたら、 ____</p> ____<p> _____なんたらかんたら ____</p> ____<p> _____なんたらかんたら ____</p> ____<select name="m6" tabindex="6"><option selected>選択してください。<option>テスト</select> ___</div> __</div> __</form> _</div> </body> </html>

eri0055896
質問者

お礼

回答ありがとうございます。 非常に勉強になりました。

その他の回答 (3)

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

>テーブルを使わずdivだけで作成することは、可能でしょうか?  tableを使ってもdivを使っても出来ますが、tableにしろdivにしろ、元々レイアウトのためのものじゅないです。単に仕様に合わせるためだけにtableを止めて、divにしたって意味が無いですよ。ここはとても多くの人が間違っている。<font color="red">じゃまずいから<span style="color:red">とするのと同じです。divやspanは、 【引用】____________ここから DIV要素とSPAN要素は、id属性及び class属性と併用することで、文書に構造を付加するための一般機構を提供する。  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ここまで[The global structure of an HTML document (ja)( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html401j/struct/global.html#h-7.5.4 )]より  本題ですが、縦方向の流し込み、枠(カラム)流し込みは、CSS3の普及を待たないと難しいですね。CSS3のcolumn-countを使います。 <div class="article">  <div class="section">   <p></p>   <input>  </div> ・・・【中略】・・・  <div class="section">   <p></p>   <input>  </div> </div> だと、 div.article{  column-count:3; } div.article div.section{  dispaly:inline-block; } 位で済む・ CSS2.1の範囲内で行おうとすると、適当な範囲でDIV(div class="column") でくくって、absoluteさせるほうが良いでしょう。 >サイトのCSSが複雑でどこかでposition:relative;を使っているようで >位置がブラウザによって変わってしまったり全画面表示の時の位置と >縮小した画面の時では場所が全然違います。  これは、absoluteとは関係ありません。HTMLもCSSもtableを使ってレイアウトするよりはるかに簡単になるはずです。  単に間違っているだけです。このレベルで、そんな複雑なスタイルシートになるはずが無いです。  マナーとして、 ★Another HTML-lint gateway ( http://openlab.ring.gr.jp/k16/htmllint/htmllint.html ) ★W3C CSS 検証サービス ( http://jigsaw.w3.org/css-validator/#validate_by_input )  で検証済み 注意】画像はそれぞれを、それぞれのサイズで用意してください。 注意】タブはインデントに置換してあります。 ウィンドウ巾は、450px以上なら崩れないはず・・ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html lang="ja"> <head> _<meta http-equiv="content-type" content="text/html; charset=Shift_JIS"> _<title>サンプル</title> _<meta name="author" content="ORUKA1951"> _<meta http-equiv="Content-Style-Type" content="text/css"> _<link rev="made" href="mailto:oruka1951@hoge.com" title="send a mail" > _<link rel="START" href="../index.html"> _<style type="text/css"> <!-- div.section{position:relative;width:80%;min-width:450px;max-width:900px;margin:0 auto;} div div{width:26%;} div div div{width:100%;} div.column{position:absolute;left:0;top:0} div.column div{position:relative;} div.n2{left:33%;} div.n3{left:66%;} div div div p{text-align:center;width:100%;} div div div p img{width:100%;height:auto;} --> _</style> </head> <body> _<h1>サンプル</h1> _<div class="section"> __<form action="./"> __<div class="column n1"> ___<div> ____<p> _____<img src="../images/blue180.gif" width="200" height="180" alt=""> ____</p> ____<select name="m1" tabindex="1"><option selected>選択してください。<option>テスト</select> ___</div> ___<div> ____<p> _____<img src="../images/blue500.gif" width="200" height="500" alt=""> ____</p> ____<select name="m2" tabindex="2"><option selected>選択してください。<option>テスト</select> ___</div> __</div> __<div class="column n2"> ___<div> ____<p> _____<img src="../images/green400.gif" width="200" height="400" alt=""> ____</p> ____<select name="m3" tabindex="3"><option selected>選択してください。<option>テスト</select> ___</div> ___<div> ____<p> _____<img src="../images/blue180.gif" width="200" height="180" alt=""> ____</p> ____<select name="m4" tabindex="4"><option selected>選択してください。<option>テスト</select> ___</div> __</div> __<div class="column n3"> ___<div> ____<p> _____<img src="../images/orenge100.gif" width="200" height="100" alt=""> ____</p> ____<select name="m5" tabindex="5"><option selected>選択してください。<option>テスト</select> ___</div> ___<div> ____<p> _____<img src="../images/blue480.gif" width="200" height="480" alt=""> ____</p> ____<select name="m6" tabindex="6"><option selected>選択してください。<option>テスト</select> ___</div> __</div> __</form> _</div> </body> </html>

eri0055896
質問者

お礼

回答ありがとうございます。 非常に勉強になりました。

  • k0021
  • ベストアンサー率26% (32/120)
回答No.2

1段の内容を記述 2段の内容を記述 3段の内容を記述 <div style="float:left;width:10.58em;">1左側表示<br> 2左側表示<br> 3左側表示</div> <div style="float:left;width:21.19em;">1中央表示<br> 2中央表示<br> 3中央表示</div> <div style="float:left;width:10.58em;">1右側表示<br> 2右側表示<br> 3右側表示</div> width:10.58em;等の指定を%すると画像をリサイズすると比率で変わります。

eri0055896
質問者

お礼

回答ありがとうございます。 非常に勉強になりました。

回答No.1

縦のふたつずつを一つのボックスに入れて全部float:leftとか。 四角の部分やプルダウンが実際は何なのか分からないからこれ以上はなんとも。

eri0055896
質問者

お礼

回答ありがとうございます。

関連するQ&A

専門家に質問してみよう