【问题标题】:Get rid of the space between an inline-block and an inline element去掉内联块和内联元素之间的空间
【发布时间】:2016-09-24 00:50:22
【问题描述】:

作为CSS3: inline TABLE TD columns, but keep it aligned 的潜在解决方案,我有以下 CSS,但它有两个问题:

  1. 没有空格的</td><td> 和有空格的</td> <td> 的解释不同,后者在渲染时有一个额外的空格,导致两者之间不对齐。

  2. 1234563李>

如何使用 CSS 删除这个多余的空间,或者至少,即使使用 justify,也可以使其显示一致?

table {text-align: justify; width: 4em; font-size: 32pt;}

td:nth-child(1) {display: inline-block; min-width: 2em;}

td:nth-child(2) {display: inline;}

/*tr {text-align: left;}*/
<table>
  <tr><td>1</td><td>d d f s d x z</td></tr>
  <tr><td>2</td><td>dd f sdxz</td></tr>
  <tr><td>3</td><td>ddf sdxz</td></tr>
  <tr><td>4</td> <td>d d f s d x z</td></tr>
  <tr><td>5</td> <td>dd f sdxz</td></tr>
  <tr><td>6</td> <td>ddf sdxz</td></tr>
</table>

【问题讨论】:

  • 显然,这似乎只能在 Mozilla 中重现,而不是在 WebKit 中。

标签: css html-table css-tables


【解决方案1】:

您可以将 tr 中的字体设置为 0 大小,而 td 之间的空间也将具有 0 大小。你可以写这样的东西。

table {text-align: justify; width: 4em; font-size: 32pt;}

tr {font-size: 0;}

td {font-size: 32pt;}

td:nth-child(1) {display: inline-block; min-width: 2em;}

td:nth-child(2) {display: inline;}

/*tr {text-align: left;}*/
<table>
  <tr><td>1</td><td>d d f s d x z</td></tr>
  <tr><td>2</td><td>dd f sdxz</td></tr>
  <tr><td>3</td><td>ddf sdxz</td></tr>
  <tr><td>4</td> <td>d d f s d x z</td></tr>
  <tr><td>5</td> <td>dd f sdxz</td></tr>
  <tr><td>6</td> <td>ddf sdxz</td></tr>
</table>

【讨论】:

  • 这似乎无法正常工作,可能是因为em 基于字体大小导致表格的宽度设置不正确
  • 实际上,即使我们将em 更改为pt,看起来仍然存在隐含的空格,并且至少在mozilla 中继续弄乱对齐方式
  • 我修好了桌子。你现在可以检查吗?
  • 不,正如我所说,在 mozilla 中,它仍然存在某种隐式间距占用空间的问题。
猜你喜欢
  • 2011-07-01
  • 2013-09-30
  • 2013-12-18
  • 2013-12-15
相关资源
最近更新 更多