こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

CCSを使ってTABLEタグをやめたい。

初心者です。

よろしくお願い致します。

現在
<table width="99%">
<tr>
<td width="85"></td>
<td></td>
<td width="80"></td>
<td width="70"></td>
<td width="70"></td>
</tr>
</table>

のテーブルタグを外しCSSで同じように再現できないか苦戦しています。

自分なりに
#table
{width: 99%;
}
#A{
width: 85;
float: left;
}
#B{
float: left;
}
#C{
width: 80;
float: left;
}
#D{
width: 70;
float: left;
}
#E{
width: 70;
float: left;
}
として

<div id="table">

<div id="A"></div>
<div id="B"></div>
<div id="C"></div>
<div id="D"></div>
<div id="E"></div>

</div>

としてみたのですが、いまくいきません。もしご存知の方がいましたら是非教えてください。
よろしくお願いいたします。

投稿日時 - 2006-03-10 16:35:56

QNo.2020019

困ってます

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

あ、言おうかどうしようか悩んでたら#1の人に言われてしまいました。解りやすい解説ページを探そうかと思ったのですが見つからず。

一応参考になりそうな質問を。
http://oshiete1.goo.ne.jp/kotaeru.php3?q=1089695

>なぜCSSが推奨されているのかという
本質・目的の部分をもっと勉強してみてください。
HTMLとデザインを切り離し、HTMLの
文章構造の論理性・汎用性を確保するためです。
<div>を多用しては、文章構造が何にも論理的になりません。

中でもnoname#8841さんのこの言葉が本質をついているように思います

投稿日時 - 2006-03-10 17:19:59

お礼

ありがとうございました。

確かに<div>を使えばなんて考えていました。

使わずやっていきます。

投稿日時 - 2006-03-10 18:59:10

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(4)

ANo.3

全体のレイアウトにテーブルを使うことは、見方次第で望ましくないことといえるかもしれませんが、
テーブルを使うことそのものが望ましくないというわけではありません。

例えば複雑なリストなどを作るために表を使うのは一般的なことですし、
これを無理にCSSで代用しようとしてもCSSが無効の環境でリストが崩れてしまうだけです。

(ただの箇条書きであればリストタグという方法もありますが、
関係ないのでこの場合は論外としておきます。)

もしテーブルタグを使用することに問題があるとするならば、
それは代用が利く場所でテーブルタグを使用することであり、
テーブルタグそのものを使用することに問題があるわけはありません。

投稿日時 - 2006-03-10 17:17:45

お礼

>テーブルタグそのものを使用することに問題があるわけはありません。

そうですよね、すこし考え方を変えたいと思います。

ありがとうございました。

投稿日時 - 2006-03-10 19:00:11

ANo.2

HTML4.01邦訳-属性一覧によると
http://www.asahi-net.or.jp/~SD5A-UCD/rec-html401j/index/attributes.html.ja.sjis
tdのwidth属性は%Length;を取ります。
<!ENTITY % Length "CDATA" -- nn for pixels or nn% for percentage length -->
DTDのコメントによると、ピクセル指定をしたいときは【数字】...【つまり40はOKだけど40pxは駄目】

CSS2-邦訳:Widthプロパティ
http://www.y-adagio.com/public/standards/tr_css2/visudet.html#propdef-width
Length:
http://www.y-adagio.com/public/standards/tr_css2/syndata.html#value-def-length

<length>によって表示される長さの値のフォーマットは,オプションの符号文字('+'又は'-'だが,'+'がデフォルト)の直後に,10進小数点をもつ又はもたない<number>が続き,【その直後にpx,degなど単位識別子が続くものとする。】'0'の長さの後では,単位識別子はオプションとする。

なので【0でないときはpx等の単位をつける必要があります】

投稿日時 - 2006-03-10 17:05:27

回答でなくて申し訳ないのですが、なぜtableをやめたいのでしょうか?
そこまで複雑な事をするならむしろ、tableタグの方が向いているように思います。
「table=悪」ではないので、テーブルを丸々divに置き換えるだけなら、脱tableの意味があまりないように思います。
tableに対してCSSを適用というのもアリかと思います。
もう少し、どのような表示結果を得たいのか、どうしてdivを使おうとしているのかを補足いただけないでしょうか。

投稿日時 - 2006-03-10 17:04:13

お礼

ありがとうございました。

データベースからリストを出しているのですが、<div>を使った方が軽いかと思って苦戦していました。

「table=悪」だと思っていただけに良い指摘を頂きました。

投稿日時 - 2006-03-10 19:01:33

あなたにオススメの質問