tableタグの事で質問です。
まずは画像をご覧になって欲しいのですが、横に長い表をブラウザの幅に合わせて画像のようにテーブルの枠自体を改行
したいのです。(テーブルの中の文字を改行するのではなく枠を
tableタグの事で質問です。
まずは画像をご覧になって欲しいのですが、横に長い表をブラウザの幅に合わせて画像のようにテーブルの枠自体を改行
したいのです。(テーブルの中の文字を改行するのではなく枠ごと改行したいのです。
表の中には自動でプログラムされた値が入るようになっているらしく、TRタグはつかえません。(普通だと折り曲げてはいけないそうですが)この横長の表をHPに掲載すると横のスクロールバーが出るのが嫌なのと
iframeで表示させねばならず、スペース的に画像であらわしいたように折り曲げたいのです。
http://oshiete.goo.ne.jp/qa/3312100.html ←このjavascriptが近いかと思うのですが、この例は1行の表の例なので
2行まとめて折り曲げる方法がわかりません。(javascriptがわかりません)
どなたか上記のように表現する方法をご存知ではないですか?大急ぎでお願いします。
No.8ベストアンサー
- 回答日時:
そのHTMLはとっても酷いものです。
酷すぎて反吐が出そう・・<br>の連続なんて考えられないし
<table>にsummaryがないし
いきなり<tr>だし、<body>は必須
bgcolor=とか、<center>なんか使いまくりですし・・・
phpの呼び出し因数は、ソースを見ればわかると思います。それをそのまま、No.6で示したHTMLのdt内、dd内に並べ替えて入れると良いです。
tableのデーターは行で一塊ですが、tableを折り曲げるためには、列でまとめなければなりません。それは、こつこつと手作業になりますが難しくはないでしょう。めんどくさいだけです。
この回答への補足
何度も本当に恐縮でございます。呼び出し因数?・・・この表にあてはまるのって、変動する文字とかなんです。さきほど自分で●●●●.php__QUERY__&wDate=__FullDate__&t=__t__">__IfOK1____Mark____IfOK2__</a>__IfOK2__とかをはめこんだりとかしてみたけどもできなくて、基本がわからなければ何もできないのだとがっかりしてしまいました・・・・orz
補足日時:2012/09/27 21:05本当に沢山の案をご提示いただきまして有難う御座います。
結局解決にはいたりませんでしたが(私の力量不足)
大変勉強になりましたありがとうございます。
No.7
- 回答日時:
ちょっと遊んでみました。
div.returnableData{
width:80%;margin:0 5% 0 15%;
line-height:2.8ex;
}
div.returnableData dl,div.returnableData sl dt,div.returnableData dl dd{
display:block;list-style:none;margin:0;padding:0;text-align:center;
}
div.returnableData dt{background-color:rgb(255,200,200);}
div.returnableData dd.symbole{background-color:rgb(255,225,225);}
div.returnableData dd.en{background-color:rgb(255,255,225);}
div.returnableData dl{float:left;margin:5px 0;position:relative;}
div.returnableData dl dt,div.returnableData dl dd{width:8em;padding:0.1em 0.3em;border:solid 1px gray;position:relative;z-index:100;}
div.returnableData dl:before{content:"元素名\A元素記号\A英語名";white-space:pre;position:absolute;top:-1px;left:-5em;text-align:right;line-height:3.4ex;}
div.footer{clear:left;}
IE8以降,Firefox,Opera,Sfari,Chromeの最新版でOK
この回答への補足
色々ありがとうございます。それでもできませんでした><
以下がこの憎たらしいテーブルなのですが・・・↓
自動で値が入って横にびよーーーーんと伸びるタイプのものなのです。
このPHPの製作者の人には表の枠を折り曲げることはできません、したければ自分でやって下さいと言われました。
困ってしまってここでご相談にあがった次第です。
<html>
<head>
<title>__InstituteTitle____ReservationName__</title>
<meta http-equiv="Content-Type" content="text/html; charset=euc-jp">
</head>
<body bgcolor="__SBackground__" text="__STextColor__" link="__SLinkColor__" alink="__SALinkColor__" vlink="__SVLinkColor__">
__SHeader__
空きあり○ 空き枠残り1枠△ 空きなし×
<br>
<br>
<table border="1" cellpadding="0" cellspacing="0">
<tr>
__WeekdayLoop__<td bgcolor="__DayColor__"><center>__IfOK1__<a href="●●●●.php__QUERY__&wDate=__FullDate__&t=__t__">__IfOK1____ThisDay____IfOK2__</a>__IfOK2__</center></td>
__WeekdayLoop__</tr>
<tr>
__WeekdayLoop__<td bgcolor="__DayColor__"><center>__IfOK1__<a href="●●●●.php__QUERY__&wDate=__FullDate__&t=__t__">__IfOK1____Mark____IfOK2__</a>__IfOK2__</center></td>
__WeekdayLoop__</tr>
</table>
<!--カレンダー-->
</form>
<br>
__IfSearch____ShowDate__(__Weekday__)の空き状況<br>
__IfSearch____IfResults____IfStylistTimeGrid__
<!-- 横スタイリスト・縦時刻のグリッド -->
<table border="1" cellpadding="0" cellspacing="0">
<tr>
<td></td>
__StylistLoop__<td>__StylistName__</td>
__StylistLoop__</tr>
__TimesLoop__<tr>
<td>__Times__</td>
__EachStylistLoop__<td align="center">__IfOpen__<a href="__OpenLink__" target="_top">○</a>__IfOpen____IfClose__×__IfClose__</td>
__EachStylistLoop__</tr>
__TimesLoop__</table>
<!-- 横スタイリスト・縦時刻のグリッド -->
__IfStylistTimeGrid____IfTimeStylistGrid__
<!-- 横時刻・縦スタイリストのグリッド -->
<table border="1" cellpadding="0" cellspacing="0">
<tr>
<td></td>
__TimesLoop__<td>__Times__</td>
__TimesLoop__</tr>
__StylistLoop__<tr><td nowrap>__StylistName__</td>
__EachTimesLoop__<td align="center">__IfOpen__<a href="__OpenLink__" target="_top">○</a>__IfOpen____IfClose__×__IfClose__</td>
__EachTimesLoop__</tr>
__StylistLoop__</table>
<!-- 横時刻・縦スタイリストのグリッド -->
__IfTimeStylistGrid____IfResults____IfNoResults__この日は空き枠がございませんでした。他の日でお調べ下さい。<br>__IfNoResults__
__IfYouCan__
</body>
</html>
本当に沢山の案をご提示いただきまして有難う御座います。
結局解決にはいたりませんでしたが(私の力量不足)
大変勉強になりましたありがとうございます。
No.6
- 回答日時:
SEO的に問題ないようにdlでマークアップした例です。
タブは_に置換してあります。
<!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.returnableData{
_width:80%;margin:0 auto;
}
div.returnableData dl,div.returnableData sl dt,div.returnableData dl dd{
_display:block;list-style:none;margin:0;padding:0;text-align:center;
}
div.returnableData dt{background-color:rgb(255,200,200);}
div.returnableData dd.symbole{background-color:rgb(255,225,225);}
div.returnableData dd.en{background-color:rgb(255,255,225);}
div.returnableData dl{float:left;margin:5px 0;}
div.returnableData dl dt,div.returnableData dl dd{width:8em;padding:0.1em 0.3em;border:solid 1px gray;z-index:100;position:relative;}
div.footer{clear:left;}
-->
_</style>
</head>
<body>
_<div class="header">
__<h1>タイトル</h1>
_</div>
_<div class="section">
__<h2>元素</h2>
__<div class="returnableData">
___<dl>
____<dt>水素</dt>
____<dd class="symbole">H</dd>
____<dd class="en">Hydrogen</dd>
___</dl>
___<dl>
____<dt>ヘリウム</dt>
____<dd class="symbole">He</dd>
____<dd class="en">Helium</dd>
___</dl>
___<dl>
____<dt>ベリリウム</dt>
____<dd class="symbole">Be</dd>
____<dd class="en">Beryllium</dd>
___</dl>
___<dl>
____<dt>ホウ素</dt>
____<dd class="symbole">B</dd>
____<dd class="en">Boron</dd>
___</dl>
___<dl>
____<dt>炭素</dt>
____<dd class="symbole">C</dd>
____<dd class="en">Carbon</dd>
___</dl>
___<dl>
____<dt>窒素</dt>
____<dd class="symbole">N</dd>
____<dd class="en">Nitrogen</dd>
___</dl>
___<dl>
____<dt>酸素</dt>
____<dd class="symbole">O</dd>
____<dd class="en">Oxygen</dd>
___</dl>
___<dl>
____<dt>フッ素</dt>
____<dd class="symbole">F</dd>
____<dd class="en">Fluorine</dd>
___</dl>
___<dl>
____<dt>ネオン</dt>
____<dd class="symbole">Ne</dd>
____<dd class="en">Neon</dd>
___</dl>
___<dl>
____<dt>ナトリウム</dt>
____<dd class="symbole">Na</dd>
____<dd class="en">Sodium</dd>
___</dl>
__</div>
_</div>
_<div class="footer">
__<h2>文書情報</h2>
__<dl class="documentHistry">
___<dt>First Published</dt>
___<dd>2012-08-10</dd>
___<dt>Last Modified</dt>
___<dd>2012-08-10 12:00:00 (JST)</dd>
__</dl>
__<address>© ORUKA1951 2012 - 2016 All Rights Reserved mailto:*****</address>
_</div>
</body>
</html>
この回答への補足
理想にとてもちかかったのですが
あてはめるとぜきなかったです。 PHPで吐き出される値がテーブルタグのすきまなどにはいっていて
そのタグにあてはめようとしましたができませんでした
テーブルタグのままでどうにか見た目を折り曲げることは出来ないでしょうか。
とても勉強になりました。
本当に沢山の案をご提示いただきまして有難う御座います。
結局解決にはいたりませんでしたが(私の力量不足)
大変勉強になりましたありがとうございます。
No.5
- 回答日時:
こんにちは。
jQueryが必要ですので以下のようにしてください。
そうすればもとのHTMLはいじらなくてもテーブルの構成を変更することが出来ると思います。
<html>
<head>
<title></title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jq …
<script type="text/javascript">
//省略
JQUERYをどうやって使うのかがわからないのですが
それを貼り付けてみましたところ出来ませんでした
回答ありがとうございます。
No.3
- 回答日時:
ブラウザ依存度が高い(サポートしているブラウザが少ない)かもしれません。
widthはborderやpaddingに影響しますので適宜調整してください。
<style>
table{
width: 400px;
}
tr{
overflow: auto;
width: 400px;
display: block;
}
td{
float: left;
width:100px;
display: block;
}
</style>
<table>
<tr>
<td>1</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>2</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
</table>
No.2
- 回答日時:
こんにちは。
JavaScript+jQueryを使って良い環境なら以下のようにすれば実現できると思います。
(JavaScriptが動作しない環境の人は動きません)
要望通り大急ぎで作ったので効率等は考えていません。
下記の場合「変身!」ボタンを選択するともとのテーブルが整形後に変更されます。
読み込み時に実行するようにするには削除A行と削除B行を削除すれば読み込み時に実行されます。
==== JavaScript
$().ready ( function() {
$('button').click ( function() { // 削除A
var $table = $('table');
var tdSize = $table.find('td').length / 2;
var tr1 = '<tr class="line0">';
var tr2 = '<tr class="line1">';
var html = '';
for ( var i = 0; i < tdSize; i ++ ) {
var $td1 = $table.find('tr:eq(0) td:eq(' + i + ')');
var $td2 = $table.find('tr:eq(1) td:eq(' + i + ')');
if ( i > 0 && i % 5 === 0 ) {
html += tr1 + '</tr>' + tr2 + '</tr>';
tr1 = '<tr class="line0">';
tr2 = '<tr class="line1">';
}
tr1 += '<td>' + $td1.html() + '</td>';
tr2 += '<td>' + $td2.html() + '</td>';
}
for ( i = 0; i < tdSize % 5-1; i ++ ) {
tr1 += '<td></td>';
tr2 += '<td></td>';
}
html += tr1 + '</tr>' + tr2 + '</tr>';
$('table').html ( $('<table/>').html ( html ) );
});//削除B
});
==== HTML
<table>
<tr class="line0">
<td>A-1</td>
<td>A-2</td>
<td>A-3</td>
<td>A-4</td>
<td>A-5</td>
<td>A-6</td>
<td>A-7</td>
<td>A-8</td>
<td>A-9</td>
<td>A-10</td>
</tr>
<tr class="line1">
<td>B-1</td>
<td>B-2</td>
<td>B-3</td>
<td>B-4</td>
<td>B-5</td>
<td>B-6</td>
<td>B-7</td>
<td>B-8</td>
<td>B-9</td>
<td>B-10</td>
</tr>
</table>
<button type="button">変身!</button>
<html>
<head>
<title></title>
<script type="text/javascript">
$().ready ( function() {
$('button').click ( function() { // 削除A
var $table = $('table');
var tdSize = $table.find('td').length / 2;
var tr1 = '<tr class="line0">';
var tr2 = '<tr class="line1">';
var html = '';
for ( var i = 0; i < tdSize; i ++ ) {
var $td1 = $table.find('tr:eq(0) td:eq(' + i + ')');
var $td2 = $table.find('tr:eq(1) td:eq(' + i + ')');
if ( i > 0 && i % 5 === 0 ) {
html += tr1 + '</tr>' + tr2 + '</tr>';
tr1 = '<tr class="line0">';
tr2 = '<tr class="line1">';
}
tr1 += '<td>' + $td1.html() + '</td>';
tr2 += '<td>' + $td2.html() + '</td>';
}
for ( i = 0; i < tdSize % 5-1; i ++ ) {
tr1 += '<td></td>';
tr2 += '<td></td>';
}
html += tr1 + '</tr>' + tr2 + '</tr>';
$('table').html ( $('<table/>').html ( html ) );
});//削除B
});
</script>
</head>
<table>
<tr class="line0">
<td>A-1</td>
<td>A-2</td>
<td>A-3</td>
<td>A-4</td>
<td>A-5</td>
<td>A-6</td>
<td>A-7</td>
<td>A-8</td>
<td>A-9</td>
<td>A-10</td>
</tr>
<tr class="line1">
<td>B-1</td>
<td>B-2</td>
<td>B-3</td>
<td>B-4</td>
<td>B-5</td>
<td>B-6</td>
<td>B-7</td>
<td>B-8</td>
<td>B-9</td>
<td>B-10</td>
</tr>
</table>
<button type="button">変身!</button>
</body>
</html>
このように書いてみましたが思うとおりにならなかったです。
何か間違っているのでしょうか。
丁寧なご回答まことにありがとうございます。
No.1
- 回答日時:
結論から言うと不可能です。
表は、あくまで二次元データーで縦に並ぶ項目、横に並ぶ項目はそれぞれ関連があるものだからです。よって本来の方法はセルの横幅を固定せずに表全体を縦に伸ばす---セルが縦長になるようにすべきです。
これは大原則です。スタイルシートでtable{width:100%;}とするしかない・・
★11 表 ( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html4 … )
このデータを表でないものでマークアップすれば、よいでしょう。たとえば
<ul class="dta">
<li>
<ul>
<li>なんたらかんたら</li>
<li>データ</li>
</ul>
</li>
<li>
<ul>
<li>なんたらかんたら</li>
<li>データ</li>
</ul>
</li>
<li>
<ul>
<li>なんたらかんたら</li>
<li>データ</li>
</ul>
</li>
</ul>
とマークアップして、それぞれの項目をfloatで並べればよいでしょう。
ジャバスクリプトのDOMとかいうものでできるようなことを検索にて
見つけましたが、それがわからない状態です。
回答ありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript ブラウザの横幅に応じてとある画像(e.jpg)を画面いっぱいに表示できるようにしたいです。(写真の横 1 2022/10/06 21:17
- HTML・CSS 要素の幅をいろんな写真の幅に合わせたい。 1 2022/07/25 20:11
- HTML・CSS テーブルタグのセルの幅の一部だけを指定 1 2023/03/12 12:02
- Access(アクセス) AccessVBAで降順にするテーブル作成クエリを使用して作成したテーブルを削除し同一のテーブル作成 1 2023/01/06 11:17
- HTML・CSS 自身のHPにYouTube動画を貼り付けるのが出来なくなり困ってます 1 2022/11/11 10:44
- WordPress(ワードプレス) ワードプレスで、投稿一覧ページにタグを表示する方法 投稿につけたタグを、記事一覧ページにもカテゴリと 1 2023/05/10 21:41
- Excel(エクセル) Excelでこういうカードの作り方 枠線の引き方や、挿入画像の拡大縮小など わかる方教えてください、 2 2022/05/03 21:22
- Access(アクセス) AccessVBAで任意の複数リンクテーブルをAccessVBAを動かす際に削除したいと考えておりま 1 2022/11/17 15:45
- PHP htmlで複数の個数入力欄を表示させるには 1 2022/09/20 03:11
- MySQL 共通点はあります。何が違うのでしょうか? 1 2023/01/27 05:22
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
tableにul,または,olを入れられ...
-
テーブルの任意の列を非表示に...
-
文字列が入っているtdを削除せ...
-
TRタグの余白をcssで設定するには
-
テーブルの行を折りたたみたい...
-
テーブルの表示がずれます
-
ホームページ 表の上の余白を...
-
HTML <td></td>タグ セル内余...
-
中に<table></table>が使えるア...
-
改行幅の指定
-
テーブルの上に空行が入る・・...
-
HTMLのテーブルで桁をそろ...
-
cssで、表示されるテキストによ...
-
tableコーディング 幅ピッタリ...
-
テーブルの行の高さを指定する...
-
ASP GridViewで1レコード2行を...
-
Safariでテーブルのセルの高さ...
-
テーブルのセルにアンカー
-
テーブルのヘッダとボディの幅...
-
tableの要素(tr、td)に一...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
TRタグの余白をcssで設定するには
-
tableにul,または,olを入れられ...
-
テーブルの任意の列を非表示に...
-
テーブルのヘッダとボディの幅...
-
cssで、表示されるテキストによ...
-
HTML <td></td>タグ セル内余...
-
文字列が入っているtdを削除せ...
-
テーブルのセルに画像をピッタ...
-
テーブルの行を折りたたみたい...
-
テーブルの行の高さを指定する...
-
テーブルの表示がずれます
-
テーブルタグのセルの幅の一部...
-
中に<table></table>が使えるア...
-
逆L字の表(table)組み
-
ホームページ 表の上の余白を...
-
表の中の列の順番を入れ替える...
-
EXCELからhtmlへの変換で罫線が...
-
tableでcolspanを使うと次行以...
-
表の1列だけをCSSを使って右揃...
-
文字の中央そろえを一括で指定...
おすすめ情報