2

所以我有这张特定的桌子。我知道我不应该使用表格进行布局,但在这种情况下我不得不这样做。

我需要设置特定 TD 的单元格间距(带有 class 的 TD .ritey)。我知道我必须以 TABLE 为目标来设置其单元格间距,但我不希望其他 TD 受到影响。我只需要设计这个单一的 TD。

有没有办法做到这一点?

这是一个使用 MS Paint 的快速粗略草图,我希望这能解释我需要什么:

在整体布局中会有多行(多个 TR)。在这个问题中,我只显示一行。我需要所有列(所有 TD)保持不变,除了.ritey. 我想.ritey在它周围有 10px 的边距(边距,而不是填充)。我希望这能更好地解释!

.

这就是我在 HTML 中得到的内容。我试过td.ritey { border-spacing:10px; }了,但它似乎不起作用。

  <table width='100%' border='0' cellspacing='1' cellpadding='3' class='postable'>
  <tr>
  <td valign='middle' class='row4 uname' colspan='2'>
  <div class='name'>
   <a href='#'>Guest</a>
  </div>
  </td>
  </tr><tr>
  <td width='100%' valign='top' class='ritey'>
        <div class='postcolor'>
         Post content
        </div>
  </td><td valign='top' class='lefty'>
    <div class='postdetails'>
    Details
</div>
  </td>
  </tr></table>

非常感谢任何帮助。

4

2 回答 2

3

请参阅小提琴的代码和演示

小提琴:http: //jsfiddle.net/kDKEw/2/

演示:http: //jsfiddle.net/kDKEw/2/embedded/result/

HTML:

<table cellspacing="1" cellpadding="3" border="1" width="100%" class="postable">
  <tbody><tr>
  <td valign="middle" colspan="2" class="row4 uname">
  <div class="name">
   <a href="#">Guest</a>
  </div>
  </td>
  </tr><tr style="height: 36px;">
  <td width="100%" valign="top" class="ritey" style="width: 90%; position: absolute; margin: 4px;">
        <div class="postcolor">
         Post content
        </div>
  </td><td valign="top" class="lefty" style="float: right; width: 6%;">
    <div class="postdetails">
    Details
</div>
  </td>
  </tr>
</tbody>
</table>

不锈钢:

在此处输入图像描述

根据图像插图(http://i.imgur.com/o56CD.png )更新了小提琴:由死锁提供

小提琴:http: //jsfiddle.net/7xfxF/1/

演示:http: //jsfiddle.net/7xfxF/1/embedded/result/

不锈钢:

在此处输入图像描述

于 2012-03-30T15:57:21.670 回答
1

在 CSS 中,您将使用padding单元格填充和border-spacing单元格间距。这是工作代码:

编辑

我根据您提供的图像修改了 CSS。我为课程添加了额外的样式postcolor。请参阅更新的 CSS 和 Fiddle。我还更新了截图。

如果您希望边框折叠,请更改border-collapsecollapse并删除该border-spacing属性。

<style type="text/css">    
    table.postable {
      border-collapse: separate !important; 
      border-spacing: 1px;        
    }
    table.postable td {
      border:1px solid black;      
      padding: 5px;
    }
    td.ritey {
      border: 0px !important;
      padding: 10px 5px 10px 5px !important;
    }
    td.lefty {  
      padding: 10px 5px 10px 5px !important;    
    }
    div.postcolor {
      margin: 3px;
      padding: 10px;
      border: 1px solid black;   
    }         
</style>
<table width='100%' class='postable'>
    <tr>
       <td colspan='2'>
          <div class='name'>
             <a href='#'>Guest</a>
          </div>
       </td>
    </tr>
    <tr>
       <td width='100%' valign='top' class='ritey'>
          <div class='postcolor'>
             Post content
          </div>
       </td>
       <td valign='top' class='lefty'>
          <div class='postdetails'>
             Details
          </div>
       </td>
   </tr>
</table>

输出: 在此处输入图像描述 请参阅此 jsFiddle进行演示。

于 2012-03-30T15:50:36.423 回答