• ベストアンサー

TABLEタグでのpadingについて

セル内コンテンツとセル周囲との間に間隔をあける場合の属性として cellpaddingというのがありますが、これを使った場合TABLE内のすべてのセルに適用されてしまうと思います。 ひとつのTABLE内の複数のセルにセルごとにその間隔を異なる設定をしたい場合適切な記述方法はあるのでしょうか。 たとえば2つのセルが横に並んでいて、そのうちひとつは文字列だけのため周囲の線に文字が接しないように間隔を少しあける、他のセルは画像を入れるのでセル内いっぱいに表示するといったケースです。 セル内にそれぞれ入れ子でTABLEを入れて、vspace等でTABLEの周囲にスペースをつくればいいかなとも考えていますが、よい方法があったら教えてください。

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

  • ベストアンサー
  • urdapple
  • ベストアンサー率30% (9/30)
回答No.1

そのTD(セル)にだけpaddingを設定すればいいのでは? <table style="padding:XXpx;">  <tbody>   <tr>    <td>     あいうえお    </td>    <td>     かきくけこ    </td>   </tr>  </tbody> </table> じゃなくて <table>  <tbody>   <tr>    <td style="padding:XXpx;">     あいうえお    </td>    <td style="padding:YYpx;">     かきくけこ    </td>   </tr>  </tbody> </table> で大丈夫だと思うんですが、何か質問の解釈の仕方を間違ってるのかしらん? またテキスト部分と絵の部分で常にそういった使い分けをしたいなら、CSSで td.text {  padding:XXpx; } td.image {  padding:YYpx; } としたうえで、 <td class="text">あいうえお</td> とか <td class="image">『イメージ』</td> としてあげた方が記述的には綺麗かも・・・

noro6857
質問者

お礼

さっそくありがとうございました。 従来TAGの<TABLE celpading=*>しか意識していなかったのですが styleだとTDにもpading=*が使えるんですね。 celpading=*がTABLEでのオプションと書かれてあったので、TDにもそのような使い方ができるのか疑問だったのですが、style sheetを考えるべきでした。 style sheetはまだ完全に理解していないため、それぞれのTAGに使える 属性などがいろいろな本やサイトを見ても、かならずしもすべて網羅されていないため、気がつきませんでした。 後段の指定方法もわかりました。 助かりました。

その他の回答 (1)

  • tamaCo
  • ベストアンサー率66% (47/71)
回答No.2

こんにちは。 セルの高さは<td height="hoge">で指定するとして、ダミー画像を使用すればいいのでは? #結構、常套手段だと思いますけれども。 インデントのため、全角スペース入ってます。 <table border="1" cellpadding="0">  <tr height="30">   <td align="left"><img src="hoge.gif"></td>   <td align="left"><img src="dummy.gif" width="2" height="30">hogehoge<img src="dummy.gif" width="2" height="30"></td>  </tr> </table> ダミー画像を挿入する部分は改行せず1行に書くのがコツです。 改行すると微妙にずれ込みます。 うまくいくといいですね。

noro6857
質問者

お礼

ダミー画像を使う方法は知りませんでした。 さっそく試してみたいと思います。 下記のurdappleさんの方法が簡単そうなのでとりあえずそちらを試してみましたが、あわせて利用してみたいと思います。 ありがとうございました。

関連するQ&A

  • TABLEタグの幅指定

    テーブルの幅を厳密に指定したいのですが、 例えば以下のような1行2列のテーブルがあるとき、 <TABLE CELLSPACING=1 CELLPADDING=4 BORDER=0> <TR> <TD WIDTH=100>***</TD> <TD WIDTH=100>***</TD> </TR> </TABLE> このような場合にテーブルタグにWIDTH属性を加えるとすると、 100*2+4*4+1*3=219で、WIDTH=219が正確な値なのでしょうか? よろしくお願いします。

  • <table>の「cellpadding」と「cellspacing」のタグを、CSS2で記述する場合

    <table>の「cellpadding」と「cellspacing」という、表のセルとセルの間隔を指定できるものがありますが、CSS2ではどのように記述すればいいのでしょうか?

  • tableのcellpadding="0" cellspacing="0"をCSSで

    tableのcellpadding="0" cellspacing="0"をCSSで設定する方法を検索したところ、 border-collapse:collapse; border-spacing:0; というアドバイスが記載されていました。 実際に使ってみたのですが、 どうしてもセル余白とセル間隔が発生してしまいます。 どうしたらよいですか。

    • ベストアンサー
    • HTML
  • テーブルの配置

    お忙しいところすみません。たぶんCSSでレイアウトした方がいいと思うのですが、よく分からないのでとりあえずテーブルでレイアウトしています。 テーブルの入れ子にせずにレイアウトをしたいのですが、ブラウザーで確認すると、文字サイズを小さくすると、真ん中の左右に並べたテーブルが上下のテーブルの位置からはみだしてしまいます。 何かタグを付け加えるとうまくいくのでしょうか? ・まず、ページの上にタイトルやボタンを配置するテーブルを置き、 <table width="98%" border="0" align="left" cellpadding="0" cellspacing="0"> ・その下に左右にテーブルを配置し、内容を書き、 <table width="49%" border="0" align="left" cellpadding="0" cellspacing="0"> <table width="49%" border="0" align="right" cellpadding="0" cellspacing="0"> ・その下にまたテーブルを置いて、コピーライトを表示させる <table width="98%" border="0" align="left" cellpadding="0" cellspacing="0"> 省略してタグを書いていて、分かりにくければ申し訳ございません。教えていただけるとうれしいです。どうぞよろしくお願いいたします。

    • ベストアンサー
    • HTML
  • 複数セルのテーブルTAG

    TABLEをTAGで作成していますが、 複数セルが入ってくる場合、colspan,rowspanを 使いますね。 これは1つのセルが複数にまたがる場合ですが 例えば1列めが2セル、2列目が3セル、4列目が2セルのような場合どのようにするのかわかりません。 また、2セルを横に並べた場合、中央の縦線のみを表示しなくする方法はありますか。 (それなら1つのセルでいいことになりますが、中の文字をセル単位で分けたい場合に使います。)

  • DREAMWEAVERでテーブルに枠線

    DREAMWEAVER MXでテーブルに枠線を付けたいのですが、テーブルを入れ子にする以外の方法はあるのでしょうか? 1つ1つのセルにではなく、テーブル全体の外側にだけ付けたいのです。 ボーダーですとセルの1つ1つに付いてしまいます…。 HTMLの知識がほとんどないのですが、これはHTMLで何かしないとだめなのでしょうか? ご教授下さい。

    • ベストアンサー
    • CSS
  • 【HTML&CSS】テーブルの正しい作り方

    はじめまして。 Webページで、テーブルを作成する際の正しい手順について迷ってしまっているので、ご助力いただければ幸いです。 現在、XHTML1.0TとCSSでページを作成しています。 テーブルの作成は以前からしていましたが、CSSが絡むようになってから、どの方法がベストなのかがわかりません。 作成はDreamweaverとテキストエディタでの手書きと両方行っています。 疑問を抱いているのは、以下の点です。 ☆ HTMLの<table>に対するborder属性、width属性、cellspacing属性、cellpadding属性は使用するべきなのか? 今現在は、<table><tr><th><td>のみで骨格を作成し、属性指定は行っておりません。するとすればthのscope属性くらいです。 ボーダーの指定には、table th tdそれぞれにCSSで上下左右のボーダー指定を行い、border-collapseプロパティで、セル間の隙間をなくしています。横幅もCSSのwidthプロパティを使用しています。 セル内の余白については、thやtdに対してpaddingプロパティで指定をしております。 この方法で特に問題なくできてはいるのですが、実際にwidth border cellpadding cellspacingの属性がいまだに非推奨になっていないようですし、ちょっと不安です。 みなさんはどのように作成しているのでしょうか? Dreamweaverの参考書などでは、tableに対して上と左のボーダー、tdに対して、右と下のボーダーを指定して、border-collapseで隙間をつぶす方法が紹介されていたりもしました。 ただ、自分は、tdの上下左右のボーダーを指定してborder-collapseで隙間をなくしていますが、結果は同じ表記になります。 tableに上と左のボーダー、tdに右と下のボーダーと指定すること自体にはどのような意味があるのでしょうか? 混乱しているため、少々文章がおかしくなっているかもしれません。 意味が分かりづらい部分がありましたら、補足させていただいたいと思っています。 どうぞよろしくお願いいたします。

    • ベストアンサー
    • HTML
  • Excelで文字の周りにスペースを設定したい!

    こういった機能がEXCELにあるのか教えて頂きたいのですが、 HTMLタグに<table Cellpadding=~>という機能があります。 これは「テーブルに対して表全体、各セルの中で表示上最も大きなデータに対して、罫線との余白を指定」といった機能です。 Excelで提出資料などを作成する際に罫線とセル内の文字が近すぎて見づらいと思い、毎回手動で文字の上下のスペースなどを空けています。これも百行以上ある場合など手動では対応不可能なこともあり、自動で文字の周囲のスペースを確保するような設定があれば是非教えて頂きたいと思い質問致しました。 お手数をお掛け致しますがよろしくお願い致します。

  • 正規表現と置換を使って書き換えたい

    HTMLのソースなどで、 …省略…width=300 border=10 cellspacing=0 cellpadding=0> …省略…width="300" border="10" cellspacing="0" cellpadding="0"> (スペースの都合で改行しています) と属性値をダブルクォートでくくるように書き換えたいのですが、検索文字列、置換文字列を正規表現を使ってどのように記述すればよいのでしょうか? よろしくお願いします。

  • 「テーブル」がずれる

    一つのページに左右1個ずつ(計2つ)のテーブルがあります。そのなかにテキストを入れています。ブラウザの文字サイズを「中」で見るように設計をしたので、「大」にすると左右のテーブル(高さ)がずれてしまいます。テーブルの中に入っているテキストは「ピクセル」で指定しています。「%」で指定したほうがよいのか、ページ全体をテーブル(入れ子)にするのかどのようにしたら「ずれない」でしょうか?それとも「ずれなくする」方法はあるのでしょうか?

    • 締切済み
    • CSS

専門家に質問してみよう