【问题标题】:HTML <td> element with CSS padding and border. Would like to set <td> margins to space the rows out带有 CSS 填充和边框的 HTML <td> 元素。想要设置 <td> 边距以分隔行
【发布时间】:2012-07-16 16:27:30
【问题描述】:

我有一个看起来像这样的表格(在 html 中):

<div id="product_grid_one">
  <table>
    <tr>
      <td>
        <div class="productimage"><img src="images/perfume.jpg" alt="Product Image" /></div>
        <div class="productdescription"><p>Perfume spray bottle</p></div>
        <div class="productprice"><p>$4.99</p></div>
      </td>                
      <td>
        <div class="productimage"><img src="images/perfume.jpg" alt="Product Image" /></div>
        <div class="productdescription"><p>Perfume spray bottle</p></div>
        <div class="productprice"><p>$4.99</p></div>
      </td>                
      <td>
        <div class="productimage"><img src="images/perfume.jpg" alt="Product Image" /></div>
        <div class="productdescription"><p>Perfume spray bottle</p></div>
        <div class="productprice"><p>$4.99</p></div>
      </td>                
      <td>
        <div class="productimage"><img src="images/perfume.jpg" alt="Product Image" /></div>
        <div class="productdescription"><p>Perfume spray bottle</p></div>
        <div class="productprice"><p>$4.99</p></div>
      </td>                
    </tr>              
  </table>
</div>

这是它的 CSS:

td { width: px; padding: 14px; border: 1px solid #c0c0c0; margin: 14px; }

基本上一排有四个单元格。每个单元格都有一个垂直堆叠的图像, 产品的文字描述和产品价格。现在,围绕这个三件套 我希望我的 td 元素(我认为它可以被视为一个块)有一个填充 14px,这个我可以设置没问题,这样在距离14px的地方就有一个1px的边框 一堆图像、文本和价格。到这里没问题。

问题是上面没有设置边距!!@

我可以设置边距:200px;仍然没有区别,边距是 大约 1 或 2 个像素,似乎无法改变这一点。我有 在 Firefox 13.0.1 上试过这个。

那么,如何设置边距?我希望表格中的每个 td 之间有 14 px。

这可以通过 CSS 实现吗?


建议使用表格的 cellspacing 属性。所以,我可以 使用以下等效 CSS:

table { border-collapse: separate; border-spacing: 14px; }

但这对我没有好处,因为我希望仅在 桌子。我不希望表格的任何一侧(左侧或右侧)有任何间距 整个。有什么解决办法吗?


好吧,我终于找到了解决方案。我设法解决了这个问题 具有负边距,以便表格添加的边框间距 表格(除了在各种表格数据和表格标题之间) 当它通过使用向左移开时不会变得可见 左边距为负值。

table { border-collapse: separate; border-spacing: 13px; margin-left: -13px; }

【问题讨论】:

  • 边距仅适用于表格,不适用于其单个单元格。单元格的全部目的是保持它们紧凑和可调整大小。如果这是你想要达到的,你应该使用分隔线。
  • 边距不能应用于表格单元格。你应该使用cellspacing;这种情况就是它的设计目的。

标签: html css xhtml margin css-tables


【解决方案1】:

你能检查一下吗

.style { border-spacing: 0px; }

有什么不同吗?当恐龙在地球上行走时,他们使用了

<td cellspacing="0">

但如果你今天这样做,你的同事会打你一巴掌。如果他们这样做了,他们可能会给你一些deprecated stuff 列表的链接。

【讨论】:

  • 但我不想要 0px 的单元格间距。我想要一个 12px 的单元格间距,并且只在单元格之间,而不是在整个表格周围,我不想使用神秘的 html,我想使用 css。我应该使用什么?
  • 你不使用神秘的 HTML 是对的。如果你想要 12 的单元格间距,也许你可以使用 {border-spacing: 12px; } 而不是在上面的例子中?请注意,我的代码中的第一个示例是纯 CSS。
  • 另外,您可以在网上阅读有关边框间距的更多信息。因为我知道谷歌很难使用(hihi),我已经为你做了。点击here 了解更多款式信息。将我的回复标记为有帮助!
猜你喜欢
  • 2014-04-29
  • 1970-01-01
  • 2012-06-03
  • 2012-09-19
  • 1970-01-01
  • 2017-06-21
  • 1970-01-01
  • 2016-12-29
  • 2014-07-23
相关资源
最近更新 更多