• 締切済み

tdに対してmin-heightの定義、または同じ

テーブルのtdに対してmin-heightの定義を行いたいのですが、調べてみますと、多くのブラウザでtdなどへは対応外と記述が御座います。 色々と駆使して試してみたのですがうまくいきません。 tdに対してmin-heightをハック的にでも適用することは出来ませんでしょうか? または同じような効果が得られる方法がありましたらアドバイス願います。 min-height:100px; height:auto; height:100px; この様な方法もあったのですが、div要素には効果があるようですがtdにはやはり反映されませんでした。 よろしくお願いします。

みんなの回答

  • warez
  • ベストアンサー率57% (29/50)
回答No.2

tr:beforeにheightを指定する方法があるみたいです。 http://stackoverflow.com/questions/8822082/how-to-force-min-height-on-table/22530729#22530729

全文を見る
すると、全ての回答が全文表示されます。
  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.1

>多くのブラウザでtdなどへは対応外と記述が御座います。  ではなくて、スタイルシートの規定で 'min-height'   値 : <length> | <percentage> | inherit  初期値: 0  適用対象: 非置換インライン要素、テーブル行と行グループを除く全要素  継承: no ( http://momdo.s35.xrea.com/web-html-test/spec/CSS21/visudet.html#propdef-min-height )  よって対応していないブラウザが正しい。  そもそも、tableは ・単に文書内容を整形する目的だけで表を用いるべきでない。( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html401j/struct/tables.html#h-11.1 ) ・ページレイアウトの目的で表を用いる。( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html401j/present/styles.html#h-14.1 )  と高さなどを指定しなくても、二次元以上のデータを羅列するための要素ですから・・必要ないのでは??

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • min-heightとheightの違いについて

    HTML、CSSを勉強中です。 こちらで似た質問は拝見したのですが、疑問が解決できなかったので投稿させて頂きます。 ページの内容が少ないときにもフッターを最下部に表示させるため、 いくつかのサイトを参考にさせて頂いて以下のようなコードを書きました。 ・HTML(一部) <html> <body> <div id="container"> <div id="article">内容</div> <div id="footer">フッター</div> </div> </body> </html> ・CSS(一部) html,body { height: 100%; } div#container { position: relative; min-height: 100%; } body > #container { height: auto; } div#article { padding-bottom: 20px; } div#footer { position: absolute; bottom: 0px; height: 20px; width: 100%; } これで目的は達成したのですが、ほぼ丸写しの作業で、containerにheightではなくmin-heightを指定する意味がよく分かりません。 min-heightは高さの最小値を設定するプロパティとのことで、これ自体が上手くいくことは分かるのですが、何故heightに替えると上手くいかないのかが分かりません(実際に、フッターがページ内容の終わり位置まで浮き上がってきます)。 親のbody、親の親のhtmlの高さが100%に指定されているのだから、containerの高さ(height)もこれらに対して100%とすることで画面いっぱいの高さが常に確保されるのかと思ったのですが、違うのでしょうか。 そもそもhtmlの高さは何に対して100%なのかと調べてみると「表示領域に対して」とのことで、実はこの記載があったページではmin-heightではなくheightを利用してボックスの高さを100%に出来るとまとめてあったのですが、上述の通り私は今回の目的には上手く利用できませんでした。 「高さ100%のhtml、bodyに対してcontainerのheightが100%」というのが上手くいかないのなら、 何故heightをmin-heightに替えるだけでOKなのかますます分からなくなってしまいました。 だらだらとした文面で申し訳ないのですが、解説していただければ大変助かります。

    • 締切済み
    • CSS
  • heightどこか間違ってます?

    以下のような要素を定義してますが, このうちheightの数字をこれ以上小さくしても 変化しません。下限値などがあるのでしょうか。 <div style="left:10px;width:28px;height:10px; background-color:black;"></div>

    • ベストアンサー
    • HTML
  • 標準モードでのheight:100%,auto

    heightについて。 標準モードだと、bodyがauto、 親要素がautoのとき、子のheightを100%にしてもそれはautoと解釈される と理解しています。 作りたいのは、テーブルの、 table自体は高さauto tdの中のdivは高さ100% なんですが、「標準モードだと」なかなかうまく行きません。 ↓こんな感じで作ってみたものの、これはtableの高さが100%です。 tableの高さを自動にすることはできないのでしょうか? <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <body> <style type="text/css"> html,body { height:100%; } </style> <table border="1" style="height:100%;"> <tr> <td style="height:100%;"> <div style="background:#fee;height:100%;">あいうえお</div> </td> <td style="height:100%;"> <div style="background:#eef;height:100%;">あ<br>い<br>う<br>え<br>お</div> </td> </tr> </table> </body> </html>

    • ベストアンサー
    • CSS
  • Firefoxで背景が消えてしまう(スクロール時) min-height:100%

    現在、下記のようにウェブページを作っています。 <div id="pagebody"> <div id="contents"> <p>aaaa</a> <p>aaaa</a> <p>aaaa</a> </div> </div> #pagebodyに背景を設定しrepeat-yで繰り返し指定をしています。 しかし、Firefoxの場合スクロールすると背景が消えてしまいます。 html { height : 100% ; } body { height : 100% ; width : 724px ; margin : 0px auto ; text-align : center ; } body > #pagebody { height : auto ; } #pagebody { height : 100% ; min-height : 100% ; background : url (../img/bg.jpg) repeat-y center } ある程度調べ、上記のように書いても全く治らずです。 アドバイスお願いします。

    • ベストアンサー
    • CSS
  • min-width?を使って背景にスクロールを出さない

    body内にcssでbox1をおき、そこに固定背景を指定しています。 その中にさらにbox2を置いています。 box1の幅が1000px、box2の幅が600pxだとします。 できれば、横スクロールをbox2の幅以下で出したいのです。 min-widthではIE6等には利きません・・・。 ハック、javascriptもかわまないので、どなたか効率のいいやり方を伝授していただけないでしょうか? よろしくお願いします。 何もない状態のcssを書きます。 ■CSS body{ } .box1{ width: 1000px; height: 500px; margin: 10px auto; background-color:#000; text-align:center; } .box2{ width: 1000px; height: 300px; margin: 100px auto; background-color:#fff; } ■HTML <body> <div class="box1"> <div class="box2"> </div> </div> </body>

  • Firefoxでheight:100%がきかない?

    ソースは以下のとおりです。 IEでは#container内のDIV要素は全てheight:100%で表示されるのですが、Firefoxでは、高さ:100%がききません。 Firefoxでもページの下まで表示されるようにしたいと思います。 よろしくお願いいたします。 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja"> <head> <meta http-equiv="Content-type" content="text/html; charset=UTF-8" /> <title>サンプル</title> <style type="text/css"> <!-- /*全体の設定*/ * { margin: 0px; padding: 0px; font-size: 12px; font-family:"MS Pゴシック", Osaka, "ヒラギノ角ゴ Pro W3"; font-weight: normal; line-height: 150%; color: #000; } /*ページ全体の設定*/ html,body { height:100%; } body { background-color: #FFF; } /*カラムの設定・IE6のハック*/ #wrapper { width: 1000px; float:left; height: 100%; min-height:100%; margin: 0px 0px 0px 0px; overflow:hidden; _overflow: show; background-color:#FF0000; } body > #wrapper { height:auto; } /*ヘッダの設定*/ #header { width: 1000px; height: 123px; clear: both; } /*メインコンテンツの設定*/ #container { width: 1000px; clear: both; height: 100%; min-height:100%; margin: 0px 0px 0px 0px; overflow:hidden; _overflow: show; background-color:#00FF00; } /*左カラム外側(2カラム内包)*/ #container_left01 { width: 732px; float:left; height: 100%; min-height:100%; margin: 0px 0px 0px 0px; overflow:hidden; _overflow: show; } /*左カラム(左側)*/ #container_left02 { width: 268px; float:left; height: 100%; min-height:100%; margin: 0px 0px 0px 0px; overflow:hidden; _overflow: show; } /*左カラム(右側)*/ #container_left03 { width: 463px; float: right; border-left-width: 1px; border-left-style: solid; border-left-color: #000000; height: 100%; min-height: 100%; margin: 0px 0px 0px 0px; overflow:hidden; _overflow: show; background-color:#FFFF00; } /*右カラム*/ #container_right01 { width: 267px; float:left; border-left-width: 1px; border-left-style: solid; border-left-color: #000000; height: 100%; min-height:100%; margin: 0px 0px 0px 0px; overflow:hidden; _overflow: show; } --> </style> </head> <body> <div id="wrapper"> <div id="header"> <h1>あああ</h1> </div> <div id="container"> <div id="container_left01"> <div id="container_left02">あああ</div> <div id="container_left03">あああ</div> </div> <div id="container_right01">あああ</div> </div> </div> </body> </html>

  • div入れ子による height100%

    お世話になります。 親要素のdivは縦100%になるのですが、 入れ子のdivが縦100%にならず困っております。 検証ブラウザは、IE6、IE7、FF2、Safariです。 お分かりの方、ご教授をお願いいたします。 ▼HTML <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=shift_jis" /> <title>test</title> <style type="text/css"> <!-- html { height:100%; } body { height:100%; margin:0; padding:0; } #wrapper { background: #99CC00; width:500px; margin-left:auto; margin-right:auto; min-height:100%; } #wrapper-inner { background:#CCFF00; width:450px; margin-left:auto; margin-right:auto; min-height:100%; } #contents { background: #FFFFCC; width:400px; margin-left:auto; margin-right:auto; min-height:100%; } * html #wrapper { height: 100%; } * html #wrapper-left { height: 100%; } * html #wrapperA { height: 100%; } --> </style> </head> <body> <div id="wrapper"> <div id="wrapper-inner"> <div id="contents"> テスト <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> </div> </div> </div> </body> </html>

    • ベストアンサー
    • CSS
  • CSSでdivのheightを動的に

    DIV要素を作り、その中にテキストを配置しています。これの高さ(height)をCSSで次のようにしたいのですが。どのようにすれば良いでしょうか。 1.文章量が多く、画面外まではみ出したらDIV要素の高さをそれに追従させる。 2.文章が画面内に収まる場合、余ったスペースをDIV要素ですべて埋める。 DIV要素のheightを動的に変化させたいのでpxによる絶対値指定はしません。パーセント指定で100%にしてもうまくいかず、調べてみたところこれは親要素の値に依存するとのことでした。そこで html, body { height: auto; } #main { height: auto; } としてみたところ、1.の「はみ出した場合のサイズ追従」は実現できましたが、2.の「余ったスペースを埋める」ことはできませんでした。逆に html, body { height: 100%; } #main { height: 100%; } にすると2.の「余ったスペースを埋める」ことはできますが1.の「はみ出した場合のサイズ追従」はできません。この両方を実現することってできませんか?

    • 締切済み
    • CSS
  • dreamweaverで、tdにheightを指定したのをcssのheightに置き換える方法

    検索および置換で、td height="200" などと指定しているのを td style="height:200px" に一発変換する方法ございますでしょうか。 DW8です。

  • divのheight指定で画面一杯に表示したい

    よろしくお願い致します。 <div>の<height>を100%に指定して、 タブレット等での表示時、縦でも横でも画面一杯に 表示させたいと考えています。 とりあえず css で以下は宣言済みです。  html, body {   height: 100%;   margin: 0px;   padding: 0px;  } 親子構造としては以下を想定しています(いくらか簡略化しています) <html>  <body>   <div id="H" style="height:60px;">    (1)ここにヘッダー的なもの   </div>   <div id="B" style="height:100%; overflow: auto;">    (2)この部分を縦一杯にしたい   </div>  </body> </html> (2)の部分にはjavascriptでサーバから取得した XMLのデータを埋め込んでおります。 その際、選択行の色付け等を行いたかった為、 大枠を<div>でくくり、その中に<table>で表組みしています。 最終的な構造は以下のようになっているはずです。  <div id="B" style="height:100%; overflow: auto;">   <div id="rdiv1"><table id="rtbl1"><tr><td ・・・ /td></tr></table></div>   <div id="rdiv2"><table id="rtbl2"><tr><td ・・・ /td></tr></table></div>   <div id="rdiv3"><table id="rtbl3"><tr><td ・・・ /td></tr></table></div>   ・・・  </div> 行ごとの<div>や、その中の<table>でも height: 100%; は指定しています。 また、1行あたりの高さは<td style="height: 40px;">と指定しています。 (rowspanを使ってのぶち抜きを行っているため) html と body に height:100%; を指定しているので、 予想ではヘッダー用のdivが指定の高さで表示され、 次のdivが残りの高さ分一杯に表示。 その中のデータは overflow:auto; でスクロールできる。 と考えていたのですが、実際はjavascriptで埋め込んだdiv、 及びtableの高さまで伸びてしまい画面上を大きくはみ出してしまいます。 (divのoverflowが全く機能しません) 100%ではなく 500px としてみたところ、 そのサイズに収まってスクロールできました。 (縦一杯ではありませんがdivのoverflowは機能しました) 何とか height 100% を実現して、 divのスクロールバーのみでの表示を行いたいのですが、 何か指定が足りないのでしょうか?

    • ベストアンサー
    • CSS