
CSSだけで<table>の<td>や<tr>要素を並べ替えることができAますでしょうか?
例えば、HTMLで一行に3列になるよう以下の様に記述した時に
<table>
<tr>
<td>
<p>テキスト左</p>
</td>
<td>
<p>テキスト中</p>
</td>
<td>
<p>テキスト右</p>
</td>
</tr>
</table>
CSSでのそうさのみによって
見栄え的に縦3行、横1列に見えるようにできますでしょうか?
幅などをピクセル制限したりするのでも構いません。
もしHTMLで実現するとするならば
<table>
<tr>
<td>
<p>テキスト左</p>
</td>
</tr>
<tr>
<td>
<p>テキスト中</p>
</td>
</tr>
<tr>
<td>
<p>テキスト右</p>
</td>
</tr>
</table>
上記のような記述になると思いますが、あくまで最初のHTMLをCSSで変更して、HTML本体は書きかえない方法です。
もし、何らかの形で実現できそうな場合がありましたらアイディアをください。
お忙しいところお手数おかけしますが、よろしくお願いいたします。
※CSS記述の変更のみ。
※特定のブラウザに依存させたくない。
※Javasprictは使用しない。

A 回答 (6件)
- 最新から表示
- 回答順に表示
No.5
- 回答日時:
>ヒントだけでも
まだ検討中・・実用性がないので後回しなのでね。
上:tableをblock,trをinline-block、tdをblock
下:tdを隣接セレクタで区別してabsolute

No.4
- 回答日時:
困ってるわけじゃなさそうなので、あまりこういうのには参加しないのだけれども、個人的に興味があって試してみたけど。
firefox.Opera,Sfariは大丈夫だけど、IEはtable要素をblock要素に変換しないため、ダメだね。相変わらず、くそIE・・・こいつのためにいつも泣かされる。

確かに困り度はつけすぎました。すみません。
興味を持っていただいてありがとうございます。とても素晴らしい回答だと思います。
とりあえずIEに関しては考慮しないとして、良ければCSSの記述方法を教えていただきたいと思います。もちろん事前に予測しうる範囲でチャレンジしてみたのですが、行き詰ったためご教授願えればと思います。もしくはヒントでも…。
よろしくお願いいたします。ご回答ありがとうございます。
No.3
- 回答日時:
ご提示のサンプル限定で、無理やり…
table { border-collapse: separate;}
tr td { border:1px solid gray; position:absolute; }
tr td:first-child { top:0.2em; }
tr td:nth-child(2) { top:1.7em; }
tr td:nth-child(3) { top:3.2em; }
IEは効かないかも…(FF3.5、Opera10で確認)
既回答者様の回答の通り、実用的にはナンセンスですけど。
この回答への補足
ご返答ありがとうございます。
チャレンジングですけど、実現に向かおうとするとてもいいアイディアですね!
後で試してみます。
他にもアイディアが浮かびましたら。ご連絡ください。
よろしくお願いいたします、ありがとうございます。
ご返答ありがとうございます。
チャレンジングですけど、実現に向かおうとするとてもいいアイディアですね!
後で試してみます。
他にもアイディアが浮かびましたら。ご連絡ください。
よろしくお願いいたします、ありがとうございます。
No.2
- 回答日時:
無理だと思います。
このようなレイアウト変更を想定される場合、TABLEタグじゃなく、各要素をDIVで区切るのが普通かと。
見栄えはテーブルと同じく、CSSを切り替えることで縦にも横にもできます。
この回答への補足
ご返答ありがとうございます。
おっしゃる通りです。divで組むべきです。ただ今回は既成のものを後から変更しなければならず、HTMLの書き換えができないためにこのような課題(CSSのみでの変更)が発生してしまいました。
何かそれらしく見せるだけでも構わないので、何かアイディアが浮かびましたら、ご報告くださいませ。
よろしくお願いいたします。ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS テーブルタグのセルの幅の一部だけを指定 1 2023/03/12 12:02
- Visual Basic(VBA) Selenium.ChromeDriverの使い方について 7 2022/09/22 06:43
- HTML・CSS 【CSS】:hasで可能? imgを含むtr要素を選択したい 1 2022/11/17 14:36
- JavaScript EasyUIのSubGrid(jquery)におけるObjectに入れた連想配列について 1 2022/05/02 11:21
- JavaScript jQueryで同じクラス名のものを別物として扱いたい 1 2022/06/17 14:14
- AJAX JavascriptからPHPへのAjax通信でnullが返ってくる 3 2022/08/03 22:00
- PHP htmlで複数の個数入力欄を表示させるには 1 2022/09/20 03:11
- HTML・CSS 自身のHPにYouTube動画を貼り付けるのが出来なくなり困ってます 1 2022/11/11 10:44
- MySQL SQL任意に並び替えをしたい 2 2023/08/28 10:47
- JavaScript 追加ボタンを押した際に ok ボタンを押した場合のみ入力値が追記されるようにしたいです 6 2022/05/29 09:57
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
テーブルの任意の列を非表示に...
-
TRタグの余白をcssで設定するには
-
テーブルのセルに画像をピッタ...
-
文字列が入っているtdを削除せ...
-
テーブルの行を折りたたみたい...
-
htmlのtable内に画像
-
nth-childをtrとtdに同時に使う...
-
cssで、表示されるテキストによ...
-
テーブルタグの中に<ol><li>を...
-
safariで特定条件下でデーブル...
-
テーブルの装飾
-
HTMLで文とテーブルの間が空く。
-
テーブルの位置
-
tableの要素(tr、td)に一...
-
vb2005で<td>から</td>までの値...
-
Htmlのtd要素の中で半角の空...
-
テーブルのヘッダとボディの幅...
-
逆L字の表(table)組み
-
テーブルの枠線(外内両方)を...
-
tableにul,または,olを入れられ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
テーブルの行を折りたたみたい...
-
TRタグの余白をcssで設定するには
-
テーブルの任意の列を非表示に...
-
tableにul,または,olを入れられ...
-
テーブルのセルに画像をピッタ...
-
cssで、表示されるテキストによ...
-
中に<table></table>が使えるア...
-
ホームページ 表の上の余白を...
-
tableの要素(tr、td)に一...
-
tableでcolspanを使うと次行以...
-
テーブルの表示がずれます
-
文字列が入っているtdを削除せ...
-
逆L字の表(table)組み
-
テーブルのヘッダとボディの幅...
-
CSSだけで<table>の<td>や<tr>...
-
EXCELからhtmlへの変換で罫線が...
-
tdなどの閉じタグは省略しても...
-
テーブルタグのセルの幅の一部...
-
HTMLのテーブルで桁をそろ...
-
不要な余白を削除する方法を教...
おすすめ情報