• 締切済み

テーブルとdiv

テーブルもdiv+CSSも本来ページのレイアウトに使うのは正しくないのはわかっていますが、divとテーブルは同じ数だけ使用し、どちらもどのブラウザから見ても見た目に差がないようにできたとしたら、テーブルの乱用とdivの乱用はどちらの方がマシなのでしょうか? ちなみにどちらもページ全体をテーブルとdivで囲ってしまいます。 お暇な時でいいのですので回答お願いいたします。

  • HTML
  • 回答数6
  • ありがとう数4

みんなの回答

  • noche6
  • ベストアンサー率18% (9/48)
回答No.6

色々な意見をお持ちの方がいると思いますが、 これに関しては微妙なところだと思います。 僕はテーブル乱用のほうが良いと思いますが、 テーブルにサマリー要素をいれたりしています。 サマリーでページ構成用テーブルなどとしてます。

  • Mac10
  • ベストアンサー率44% (17/38)
回答No.5

 まず、理想から入りますとレイアウトはCSSを用いた方が良いと思います(後述しますがあくまで理想・・・)。  CSSの役割はテーブルレイアウトや装飾、DHTMLなどで可読性の低くなったソースから、表示の部分(レイアウトや装飾)を分離してHTMLを文書構造のみの読みやすいコードにすることです。もし、Tableタグの中にTableタグを挟むようなコーディングや、PHPのプログラムをそのまま書き込んでいるのなら、CSSを用いた方が読みやすさは大分向上すると思います(=ミスが出にくい)。  逆にTableタグは、本来レイアウトを行うためのタグではないので、使い方としては間違いというわけではありませんが、良くないかもしれません。何より、複雑なレイアウトをすると、ソースが読みにくくなるのが困りものです。  ここまでが理想。これからが現実。  実際、CSSを用いたレイアウトはブラウザによってかなりかわります。現行のメジャーブラウザ(だと思う)IE6とFireFoxでも差異はありますが、古いブラウザやMacのSafariというブラウザで見ると、特に問題が出やすいです。  テーブルレイアウトは、その点古いブラウザでも安定した表示が可能です。本来の利用方法なんて、ちゃんと表示できることに比べれば大したことじゃない、という考えもありだと思います。レイアウトを行うのも、CSSに比べれば楽で、複雑なレイアウトも直感的に組めたりします。組むのは楽だが、読むのが大変なんで、後で苦労しますが・・・。    だんだんと新しいブラウザの普及が進み、雑誌などでもCSSが推奨されていますので、将来的には(次期IEの7次第で急速に?)CSSが利用しやすくなっていくと思います。現状は一長一短があるという感じでしょうか。  なので、試してみて、あった方を選べば良いと思いますよ。どちらにしろ、「乱用」はやめた方が良いのは確かだと思います。

回答No.4

table と div + CSS の比較なら、table の方がまし。 HTML だけと CSS も用いるとの比較で、より簡素な HTML だけである TABLE の方がましとなります。 CSS にはブラウザ側で対応が異なったりいろいろあるので・・・。 と、選択理由が CSS の有無となるのも、どちらも技術的には良しとしても意味的には誤りなので、本来は意味的にも正しい要素(タグ)を用いて、その上でレイアウトを CSS で表すべきでしょう。(望むレイアウトを諦める事も選択肢の内に入りますが・・・。) 結局、作成者の知識内で作るという事で、作成者がまず理解している事が第一の選択条件かと・・・。 その次が閲覧側の問題で・・・。 知識と意識と自己満足度次第かと・・・。 (結局、どこかで妥協しないといけないので、しかたがありません・・・。ブラウザの対応、なんとかしてほしい・・・。)

  • steel_gray
  • ベストアンサー率66% (1052/1578)
回答No.3

質問の条件(数が同じ、ブラウザ間の違いも少ない)であればDIVの乱用の方がましだと思います。 #1 今後CSS(の仕様+実装)が整備されていくにつれ、DIVは減らせる可能性がある。 #2 CSSの変更でサイト全体のデザイン/レイアウト変更ができる。(かもしれない。…そう、うまくはいかない場合がほとんどだし、デザイン/レイアウトだけの変更って事もあんまりないだろうけど) #3 過渡期の今のうちにテーブルレスにも慣れておく。 以上は不確定な将来の話ですが。 個人的な感覚で云えばテーブルレイアウトに頼っている間ややめた直後、適当に併用している間は他のタグ付けが適しているのにDIV(やSPAN)で置き換えて済ましてしまう傾向が強いので早めにテーブルレイアウトをやめてみたほうがちゃんと考える事ができるように思えます。 (テーブルをやめてもDIVやSPANしかでて来なくてそれで問題意識が沸かなければ意味はないですが) ただ、職業としてやっているなら、将来といっても長期間続け(られ)る仕事じゃないし、現状で効率がよい方法を選んでおけばいいとも思います。

  • dr2006
  • ベストアンサー率31% (5/16)
回答No.2

正しい書き方、マシな書き方が常に必要なものを提供できるわけ ではないと思います。決めやスタイル、目的により適合したもの を選択するという程度の考えでよいのではないかと思います。 例えばSEO的に全単語数を減らし本文というか表示されている内容 のウェイトを大きくする目的があれば、テーブルかdivでより単語 やファイルサイズが小さくなる方法を選択するのが最善でしょう。 テーブルにしかできない、CSSにしかできない表現もあります。 乱用という考え方ではなく、その表現でできることを追求・提供 していけばいいのではないかと思います。 参考にですが、私はどちらも使います。 基本のスタイルは、変更時に自分の労力ができるだけ削減できる 方向で、かつSEO対策がし易いものを選択です。 ただし、相手の要望などを盛り込むと自分のスタイルばかり選択 できるわけではないですし、時間に迫られやむなく手抜きしたり など、あくまでも一つの目安でしかありませんが...

chisa1010
質問者

お礼

矢張り、どちらがいいというより、目的によって使い分けることが大切なのですね。 参考になりましたありがとうございます。

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

だめだとわかっていることを他人にきいて、 その人の意見でどちらかにしようか判断することを 一般に「責任転嫁」といいます。 どのブラウザでも同じようにみせたいなら、 htmlではなくpdfやフラッシュをご利用になることを おすすめします。

chisa1010
質問者

お礼

ただ、自分はテーブルで作っていたのですがそれとほぼ同じ形で<div>で作ったページを見せられたので単にどちらがいいやり方なのか気になっただけでどのブラウザでも同じように見せようって気はないのですが 質問の仕方が悪かったようですみません。 回答してくださってありがとうございます。

関連するQ&A

  • レイアウトはテーブルよりCSSですか?

    今まで、Webサイトのレイアウトは、テーブルを何重にも入れ子にして、行ってきました。 最近、「レイアウトにテーブルを使うのはよくない」「テーブルで全体を囲っているレイアウトはダサい」などの意見を聞くようになってきました。 奮起して、テーブルでつくったページをCSSに書き換えようと思いましたが、なかなか困難です。 位置を左上基点に、それぞれの<div>をabsoluteで設定すれば、比較的容易にレイアウトを組めるのですが、やはり全体を画面の中心に持っていきたい、そうなると、全体をテーブルで囲って、align="center"が簡単です。 そこで、質問です。 ・CSSでレイアウトを組むとき、左上を基点にされていますか?全体を中央に配置するようにされていますか? ・CSSで、全体を中央に配置するとき、全体を<div>で囲って、その中に<div>を入れ子にして、配置していくと思いますが、なかなか思い通りの配置になりません。このやり方であっていますか?簡単なやり方がありますか? ・やはり、レイアウトにはテーブルよりも、CSSを使ったほうがいいですか? ご意見・ご回答いただきたく、どうぞよろしくお願いします。

    • ベストアンサー
    • CSS
  • Tableとdivタグで、レイアウト

    Tableとdivタグで、画像のようなレイアウトを作りたいのですが。 黒い線を二本入れた簡単なレイアウトなのですが、 どのブラウザーで見ても、(どの画面の大きさで見ても) 同じような形になるように、tableとdivでレイアウトするにはどうしたらよいでしょうか。 metaタグなど余計なものは書かなくてもかまいませんのでよろしくおねがいします。 (後パーセンテージもいくつでも構いません、適当に書きました) tableで書いた場合と、divで書いた場合と教えてください。 縦横ともに長さ100%で表示したいです。 パーセンテージを使うとかける気がするのですが、忘れてしまいました。 ぜひよろしくお願いします。

  • tableレイアウトについて。

    自分は HTML , CSSを勉強して、ホームページをつくっていたのですが、いざ、就職をしてみると、ホームページのソースが自分が今まで、勉強してきた HTML, CSSは使われておらず、tableレイアウトでつくったホームページを沢山、目にします。特に楽天やYahooなどECサイトなどで多くみられます。自分は HTML, CSSをつかって <div></div>でレイアウトをするのが正しいとおもいやってきたのですが、このさき、tableレイアウトで作るやり方も勉強するべきでしょうか?

    • ベストアンサー
    • HTML
  • div要素の用途について

    div要素は、リンクの文字をそろえたり、文章でCSSのレイアウトなどに使用されると思いますが、本来のdiv要素の目的というのはどういうものなのでしょうか? 回答よろしくお願いします。

    • ベストアンサー
    • HTML
  • divの入れ子を多用してページをつくることはださいのでしょうか?

    CSSで2カラム左メニューレイアウトのサイトを作成しております。 レイアウトはできたのですが、 ページ内にいくつかdivでボーダーのないボックスをつくり 写真をいれたり文章をいれたりします。 1ページのCSSレイアウトしたコンテンツ部分のdivの中に 5つほどdivが入れ子ではいる予定です。 インターネットでdivの多用について調べると ださいだの、わかってないだと書いてあります。 でもdivを多用しなければ、 例えば写真の横にテキストを配置したり、 よこにイメージを配置したいときに テーブルやHTMLタグをつかわないといけないので、 余計ソースが汚くなるんではないでしょうか? 私は、CSSを本格的に勉強し始めてほとんど初心者ですので、 詳しいことがわかりませんので、もしご存知の方おられましたらご意見お待ちしております。

    • ベストアンサー
    • HTML
  • tableによるレイアウトorCSSによるレイアウト

    現在HPをリニューアルしようとしております。 現状はホームページビルダーでテーブルを多用してレイアウトしておりました。 洋服関係のネットショップなのでかなり見た目ごちゃごちゃした感じで作っています。 また、「生きているサイト」を意識して頻繁に少々のレイアウトや内容の更新をしております。 *商品はコンスタントに更新してます。 このたび、dreamweaverでhtml+CSSでブロック要素のまわり込みでレイアウトして作りかけています。 がしかし、参考に他のサイトのソースを多数見ていくとレイアウト自体はテーブル(html)で行っているサイトが多く現在、レイアウト自体をテーブル( html)orCSSでコントロールする方法が良いか迷っております。 html+CSSでブロックコントロールしていく方法を多方面推奨しているようなのですがブラウザやブラウザバージョンにより崩れたり・・・とういう事は理解できております。 そこでお教え頂きたいのですが・・・ ●今後CSSがスタンダードになるとは思いますが現状、web製作の現場ではTABLEによるレイアウトとCSSによるレイアウトどちらがスタンダードでしょうか? ●また、CSSの場合、<div>のまわり込みでレイアウトを決めて<div>内のレイアウトはどのようにすればフレキシブルに内容や画像を取り扱えるでしょうか? ●その他、お気づきの点があればご意見ヨロシクお願い致します。

    • ベストアンサー
    • HTML
  • テーブルとDIVとCSSについて質問です。

    テーブルとDIVとCSSについて質問です。 テーブルタグのtdにdivで、写真を入れたい(写真の周りにdivで枠の飾りみたいのをつけたいから)です。 その下に、CSSで定義した文字を入れたいのですが、 tdが横に2つ(=つまり、写真が2つ並ぶ)と、左の写真の下の文字を3行にし、 右の写真を下の文字を2行にすると、縦の中央になってしまい、 右が少し下にきてしまいます。 どう、定義したらいいでしょうか? また、その文字らを、text-align="center"でCSSで定義しても、 デザインですとセンターに見えても、ブラウザでみると、左揃えによってしまいます。 どう書いたらいいか、あわせて教えてください。 また、tableにdivを入れたらダメの場合は、どうやったら、いいか教えて下さい。 よろしくお願いします。

  • どこをテーブルで作るべきか、divタグで作るべきかの境目というか、考え

    どこをテーブルで作るべきか、divタグで作るべきかの境目というか、考え方が 微妙で困っています。 サイトレイアウト大まかな段組は<div>でできるだけ行うように、みたいにCSSデザインの勉強をしていると書いてあり、その意味は分かりますが、<div>タグで概観をレイアウトしても、結局は、divで定義したコンテンツBOXの中身だったりメニューの中身だったりは テーブルで配置したほうが更新作業的にやりやすいし、テーブルほうがよいのでは? みたいに、なってしまいます。 左に画像、右にコメント(文字列)などの関係のものが、以下に複数続いたりする場合、 どう考えてもテーブルのほうがよくない?って思うんですよね。 その場合でも無理やりdivタグでテーブル構造を作るもんなんですかね? divタグだとコード量が少なくなるからSEO対策的に良いっていうのは理解できますが、 divタグはここまで作る、テーブルタグの使い分けが微妙です。 このときはテーブルにしないといけない。とかないんでしょうから ある意味センスなんでしょうが。。。。 製作の効率と、コンテンツの管理の仕方を考えると divタグとテーブルの使い方の境目が分からなくなってしまいます。 そのへんの考え方ノウハウを教えてください。

  • cssの中にテーブルを入れると崩れる。

    html+CSSでページを作っていて 途中にテーブルを入れると レイアウトが崩れます。 テーブルのすぐ右横に次の見出しが来てしまったりします。 どうしたらいいでしょうか? <body> <div id="wrapper"> <div id="header"> ~略~ </div> <div id="contents"> <h2> ●●● </h2> <h3> ●●● </h3> 例えばココに<table>~</table> <h2> ●●● </h2> <h3> ●●● </h3> </div> </div> </body> とするとこのテーブルの真横に次の<h2>が来てしまいます。 テーブルの用途は料金表などで、レイアウト的に使うのではありません。 どなたかご教授下さい。 宜しくお願いいたします。

    • ベストアンサー
    • CSS
  • セクションをdivで囲むと見出しのランクは下がるの

    例えば <body> <header> <h1>サイトタイトル</h1> </header> <section> <h2>ページタイトル</h2> </section> </body> をdivで囲むと <body> <div> <header> <h2>サイトタイトル</h2> </header> <section> <h3>ページタイトル</h3> </section> </div> </body> に書き換えるべきですか? それともdivで囲んでもdivが存在しないものとして振舞いますか? ちなみにスタイルシートを無効にして実際に書き換えずにやってみるとh1の大きさが変わりませんでした やっぱり書き換えなくてもいいんでしょうか? ご回答よろしくおねがいします ここから下は関係ないですけど html5とcssってホントにややこしいですね。見出しのランクなんてcssがあればもはや何の意味もないし(だからh1で統一できるようにしたんでしょうkど)、cssでは特にpositonとfloatは頭がおかしいと思うし、この二つがクソなので結局シマンティックセクションとか関係なくdivで囲まざるを得ない。html5のセクションはユーザーじゃなくてロボットに対して役に立つもの なんでもっと柔軟に直感的なレイアウトができるようにしなかったんでしょうね? じゃあhtml4使えよってのはなしで あとjavascriptで各セクションの高さを取得して足し合わせたものを左サイドバーの高さに代入してレイアウトを綺麗にするのとかもどれか1つのセクションにposition:absoluteがあるとおかしくなるしブラウザによってはいけたりするし本当に頭がおかしい

専門家に質問してみよう