• 締切済み

2、3カラムレイアウトはdivで?それともspanで?

2カラムや3カラムのレイアウトを構築する時、<div>を使うとレイアウトが崩れて親テーブルの中に入れた子テーブルがはみ出てしまったりします。 親テーブル、子テーブルともにwidth値やheight値は合っているのですが・・・。 ちなみに<div>を<span>に置き換えると何事も無かったかのように綺麗に収まります。 <div>は前後が改行されますが、それが影響しているのでしょうか? しかし通常はカラムを構築する時は<div>を使うのですよね?<span>を使ってもOKなのでしょうか?<span>では何か不具合が起きたりするのでしょうか?

みんなの回答

  • rupy
  • ベストアンサー率0% (0/1)
回答No.2

当然<div>です。<div>はブロックレベル要素であり<span>はインライン要素です。その違いはご自分で調べることをオススメします。 2段や3段といった段組を構成する場合には色々とコツが要ります。 IE6なんかにはバグが多いので気をつけたほうがいいです。 よく分かりませんがもしや<table>の中に<div>やら<span>を入れ子にしているのでしょうか?段組はそんな組み方はしません。 <span>で組むことは不可能ではないですが結局ブロックレベル要素に変えるので全く意味がありません。 個人的にオススメするのが技術評論社のスタイルシート上級レイアウトという書籍です。上級といえども懇切丁寧できちんと段組など手順を追って説明してあります。ある程度CSSをやっているなら是非読んでみて下さい。

参考URL:
http://desperadoes.biz/style/dan/index.php
  • Muller3
  • ベストアンサー率81% (800/979)
回答No.1

「ブロックレベル要素とインライン要素」 http://www.kanzaki.com/docs/html/element-level.html 「インライン要素の中にブロックレベル要素を置くことはできません」 つまりspanの中にtableは置けません。 tableをどのように使っておられるのかはわかりませんが…

関連するQ&A