• ベストアンサー

<table>でセルをきっちり分けるには

最近CSSばかり使ってtableがよくわからないのですが、tableのセルのサイズを挿入する文字の数に限らず常に一定にするにはどんな方法があるでしょうか? 例えば600pxのtableに2列のセルを入れるにはそれぞれのセルに300pxを指定する方法もありますが、CSSでtableのtdタグに50%のwidthプロパティを指定しても問題ないでしょうか?

  • CSS
  • 回答数1
  • ありがとう数2

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

  • ベストアンサー
  • SAYKA
  • ベストアンサー率34% (944/2776)
回答No.1

問題ないよ。 tableはpx指定してtdは50%というので大丈夫。 というかそういう方法で区切るやり方が一般的。(固定でも良いけどね

seed_twice
質問者

お礼

ありがとうございます。迅速かつ的確な回答に感謝します!

関連するQ&A

  • table要素のwidthの解釈

    tableタグを使って次のようなことをしたいと考えています。 ・table要素の親はdiv要素 ・div要素にはサイズ(width/height)が指定されており、overflow:hiddenとしてある。 ・table要素にはサイズを指定しない ・td要素にはサイズを指定する →つまり、tableのサイズはtdのサイズで決定する HTML/CSSは次の通りです。 ----------------------------------------------------- div { width: 300px; overflow: hidden; } table { table-layout: fixed; } td { width: 170px; } <div> <table><tr> <td>a</td><td>b</td><td>c</td> </tr></table> </div> ----------------------------------------------------- このコードを「DOCTYPE宣言を書かずに」IE8で開くと、想定通りの表示になりますが、 <!DOCTYPE html>と記述すると、tableの横幅が300pxに詰められてしまいます。 td要素のwidth指定が働かず、親のdiv要素のwidthに無理やり押し込められてしまうようです。 また、FirefoxではDOCTYPE宣言無しでも同様の問題が起きてしまいます。 table内の列数は固定ではないので、tableに対してwidth指定はしたくありません。 何か書き方が間違っているのでしょうか。 あるいは、標準準拠モードの仕様では、そもそもできないことをやろうとしているのでしょうか。

  • テーブル内のセル間にスペースを空けたい

    tableタグとtr、tdを使って2行2列の表を作っています。 (1)それぞれのセルとセルの間にスペースを空けたいです。 (2)セルの中の文字の開始位置を1文字分程空けたいです。 CSSでの指定でも構いません。 tdやpにmarginを指定したり、cellpadingなど色々試しましたがうまく行きません。 どうかご教授をお願いします。

    • ベストアンサー
    • HTML
  • [table] colspanについて

    画像添付にあるようなセル区切りのtableをhtmlで作成したいと考えています。 4列目にセルが4つあるので、3列目のcolspanの指定をどのように記述すればいいのか 不明で困っています。 ---------------------------------------------------- <table> <tr> <th></th> <th colspan="3"></th> </tr> <tr> <td></td> <td colspan="3"></td> </tr> ▼▼▼▼▼この列のrowspanの指定がわからない▼▼▼▼▼ <tr> <td></td> <td></td> <td></td> </tr> ▲▲▲▲▲この列のrowspanの指定がわからない▲▲▲▲▲ <tr> <td></td> <td></td> <td></td> <td></td> </tr> <tr> <td></td> <td colspan="3"></td> </tr> </table> ---------------------------------------------------- どなたか解決案をご存知の方、お教えいただけないでしょうか? colspanにこだわっているわけではないので、cssで解決できるのであればcssでも大丈夫です。 よろしくお願い致します。

    • ベストアンサー
    • HTML
  • CSSで文字が縮まらない方法

    CSSの初心者です。 不明点があるので教えてください。 1.テーブルに文字を入力してあります。 ウィンドウサイズの大きさを小さくするとそのテーブルの 文字も縮まります。 私は日本人です。 ↓↓↓ 私 は 日 本 人 で す。 みたいになります。 ウィンドウサイズを小さくしても縦表示にならない方法は ありますでしょうか? 2.↑と類似質問になりますが、tdで幅指定(px)はできますよね? 自分がもっているCSS辞典には td {width: 200px;} がなく、 table {width: 200px;} しか掲載されていません。 やはりpx指定してもウィンドウサイズが小さくなるとその大きさを 維持できなくなるのでしょうか? HTMLのようになかなか思うような表示にならず細かいところで 苦労しています。

  • 【IE6】テーブルにcolspanが入ると幅指定がずれる?

    閲覧いただきありがとうございます。 <Html>にて、<table>を入れているのですが <colspan>すると幅指定がずれてしまいます。 タグ記述のミスなのか、仕様なのかはっきりと分からない為 質問させていただきます。 下記のようなテーブルを作っています。 【テーブル】 テーブル幅 500px 2行 5列:(各列100pxの5等分) 【列内容】 1行目 ├5列全て colspan 2行目 ├1列目:100px ├2-3列目:100+100=200px (colspan=2) ├4-5列目:100+100=200px (colspan=2) ここで、2-3列目に幅200pxに指定した <select>タグを入れると、意図しない幅になってしまいます。 意図している動きは 2-3列目の幅ぴったりに<select>が入ってほしいのですが 4-5列目の4列部分がえぐれてしまい、4-5列目が200pxではなく 100pxぐらいの描画になってしまいます。 そして<select>タグは2-3列目にぴったりと入らず、 後ろに100pxの空きがでてしまいます。 http://kikky.net/pc/css_bug020.html このサイトではIE6ではcolspanがあると幅指定がずれると なっていますが、同一の現象なのでしょうか? 示唆いただければ幸いです。 宜しくお願いします。 --------------記述html--------------- <html> <head> <title> ColSpanテスト </title> </head> <body> <table width="500" border="1" cellspacing="0" cellpadding="0" bordercolor="#000000" style="border-collapse: collapse;" > <colgroup> <col width="100" /> <col width="100" /> <col width="100" /> <col width="100" /> <col width="100" /> </colgroup> <!-- 1行目 --> <tr> <td colspan="5"> span5 </td> </tr> <!-- 2行目 --> <tr> <!-- 1列目 --> <td> </td> <!-- 2-3列目 --> <td nowrap colspan="2" > <select style="width:200px;" size="1" name="sl" id="sl"> <option value="99999">2列にしたい</option> </select> </td> <!-- 4-5列目 --> <td colspan="2" > 200pxなのに・・・ </td> </tr> </table> </body> </html>

  • cssで、1行2段のtableを記述するには?

    cssで、1行2段のtableを記述するには? → htmlのページに以下を挿入しました。 <table> <tr> <td width="2"></td> <td width="588"></td> </tr> </table> → htmlのページの<head>と</head>の間に以下を挿入しました。 <link rel="stylesheet" type="text/css" href="table.css"> → table.cssファイルを、onimotsuさんの指示に従い、以下のように記述しました。 TABLE{width : 640px;border-width : 0px 0px 0px 0px; padding-top : 0px;padding-left : 0px;padding-right : 0px; padding-bottom : 0px; background-color : #FFFFFF;} → table.cssファイルに以下を挿入するにはどうしたらいいのでしょうか? いろいろ試しましたが、うまくいきません。 <tr> <td width="2"></td> <td width="588"></td> </tr> → うまく挿入できれば、htmlのページのtableの項は次のようにすっきりとなります。 <table> </table> よろしくおねがいします。

  • CSSを使ってテーブルでセル全体をリンクしたい

    CSSを使ってテーブルでセル全体をリンクしたい CSSを使ってテーブルでセル全体をリンクしたい・・・と思っています。 4つのセル?を横並びにして(2段目は説明書き)、一つ一つ違うところに飛べるようにしたいのですけど、文字だけしかリンクできません。。。 block要素?を使うらしい?ということはわかったのですが、テーブル要素と組み合わせて使う場合どうしたらいいのでしょう? 色々やってみたのですが、セルが縦並べになってしまったりメインのcolorがなくなってしまったり、形が大幅に崩れたりしてしまいました。 ホームページ作りもCSSも初めてなので、なにをどうしたらよいか教えていただけると嬉しいです ソースをのっけておきます <cssの方> table#table-01 { width: 600px; border: 0px #E3E3E3 solid; border-collapse: separate; border-spacing: 20px 0; } table#table-01 th { width: 130px; height: 70px; padding: 5px; border: #E3E3E3 solid; border-width: 1px 0 0 1px; background: #F5F5F5; font-weight: bold; line-height: 120%; text-align: center; } table#table-01 td { vertical-align: top; padding: 1px 3px 20px 0; border: 0px #E3E3E3 solid; border-width: 0; text-align: center; } <htmlの方> <table id="table-01" cellspacing="20px"> <tr><th>●●●●</th><th>▲▲▲</th><th>■■■</th><th>○○○</th></tr> <tr><td>●の説明</td><td>▲の説明</td><td>■の説明</td><td>○の説明</td></tr> よろしくお願いします

    • ベストアンサー
    • HTML
  • css(div)の中にtableタグを使うとなぜかcellpaddingがきかない

    cssのdivの中にtableタグを入れ子にして作成していますが、中側tableのcellpaddingを5に指定しているにもかかわらず余白があきません。 過去ログにCSSの設計思想からすると、DIVの中にTABLE要素を組み込むことは論理矛盾であると書かれていましたが、複雑な表になってくると知識がないため、テーブルを使っているのが現状です。 なぜ余白があかないのでしょうか?また対応する方法はあれば教えていただきたいです。よろしくお願いします。 <div id="fee_table"> <table width="460" border="0" cellspacing="0" cellpadding="0"> <tr> <td bgcolor="#C4D6A7"><table width="460" border="0" cellspacing="1" cellpadding="5"> <tr> <td bgcolor="#FFFFCC">テキスト</td> <td valign="top" bgcolor="#FFFFFF">テキスト</td> </tr> <tr> <td bgcolor="#FFFFCC">テキスト</td> <td valign="top" bgcolor="#FFFFFF">テキスト</td> </tr> <tr> <td bgcolor="#FFFFCC">テキスト</td> <td valign="top" bgcolor="#FFFFFF">テキスト</td> </tr> </table></td> </tr> </table> </div> ■---css---------------------------------------■ #fee_table { font-size: 95%; margin : 10px 0 10px 15px; }

  • <table>タグ、セルの隙間

    初めてなので上手く伝えられなかったらすみません。 テーブルのセルの隙間を調整したいんですが上手くできません。 <table cellspacing="0"> <tr> <th></th><td></td> </tr> ・ ・ ・ <tr> <th></th><td></td> </tr> </table> という形です。thとtdにはテキストが入っています。 縦の幅をそろえたいんですがcellspacing="0"をしても一行の高さより間隔が広いのをなんとかしたいんです。thの中に改行があるのでそれと合わせたいんです。 これはline-heightとかで何とかなりますか?一応文字サイズ変えたり見ても均一な行間になるようにしたいので高さ指定だとあまり良くないと思ってます。 CSSもいくらか分かるので、HTMLかCSSで上手い対策をごぞんじの方教えてください。

    • ベストアンサー
    • HTML
  • テーブルのセル間に余白が空いてしまいます

    2行×2列と3行×2列のテーブルを1つずつ作成し、どちらのテーブルも1列目のセルは結合して画像を挿入し、2列目のセルに文字を入力するというスタイルを取りたいです。 しかし、画像と文字の間(1列目と2列目の間)に余分な空白ができてしまいます。 margin、padding、cellspaceなどが必要ではないかと推測していますが、どこに埋め込むのか、自分なりに試しましたがわかりません。 htmlのコードとcssのコードを記しますので、どなたかお詳しい方お力を貸していただけませんでしょうか? また、もう1点困っていることが、テーブルとテーブルの間にスペース開けたいのですが、<br>はできるだけ使いたくありません。 divにmarginを指定して、テーブルタグの上に<div style="margin-top:10px"></div>とすればスペースは空きましたが、他に方法があれば合わせて教えていただけると嬉しいです。 <!-- htmlのコード --> <body> <table width="700" border="0" > <tr> <td><center> <img src="img/top_image.png" /> </center></td> </tr> <table class="table001"> <tr> <td rowspan="2"><img src="img/aaa.bmp" /></td> <td><h2>このサイトのごあんない</h2></td> </tr> <tr> <td><p>このサイトは~~~~~~</p></td> </tr> </table> <div style="margin-top:10px"></div> <table class="table001"> <tr> <td rowspan="3"><img src="img/bbb.bmp" /></td> <td><h2>このサイトのごあんない2</h2></td> </tr> <tr> <td> <p>このサイトは~~~~~~</p> <p>また、このサイトの~~~~~~。</p> </td> </tr> <tr> <td> <p>問い合わせ</p> <p>電話番号 000-000-0000</p> </td> </tr> </table> </body> /* CSSのコード */ body { background-color:#6C6; margin-top: 0px; margin-right: 0px; margin-left: 0px; margin-bottom: 0px; padding-top: 0px; padding-right: 0px; padding-left: 0px; padding-bottom: 0px; font-size: 0.8em; font-family: "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "MS Pゴシック", "MS P Gothic",sans-serif ; } #pageBody { width: 760px ; margin-top: 20px; margin-right: auto; margin-left: auto; background-color: #FFF; } table.table001{ background-color: #E8FECF; width: 700px; margin-left: auto; margin-right: auto; white-space:normal; } h2{ padding-left: 10px; background-color: #009900; width: 180px; color:#FFF; font-size: 1.1em; height: 25px; line-height:25px; }

    • ベストアンサー
    • HTML

専門家に質問してみよう