【问题标题】:Columns dont inherit width when contained in div列包含在 div 中时不继承宽度
【发布时间】:2012-07-24 09:52:37
【问题描述】:

假设我们有一个包含许多行的表。通过 XSLT 将我的 XML 转换为 PFD 时,我希望某些行不会跨分页符拆分。目前我有

<table>
  <tr>...</tr>
  <tr>...</tr>
  <div style="page-break-inside:avoid">
    <tr>...</tr>
    <tr>...</tr>
  </div>
  <tr>...</tr>
</table>

这在一定程度上很有效。问题是 div 中的列不再像往常一样从表中的第一行继承它们的宽度。

我可以用 div 做些什么来维护继承吗?还是我应该尝试不同的方法?

【问题讨论】:

  • 这是无效的语法...&lt;div&gt; 不能是 &lt;table&gt; 的子代。 (正式地,&lt;tr&gt; 也不能,因为它应该在 &lt;tbody&gt;&lt;thead&gt; 中,但这是顺便说一句,因为大多数 - 如果不是全部 - 浏览器允许它)
  • 谢谢!我必须阅读一下我的表格语法。

标签: html xml xslt pdf xslt-1.0


【解决方案1】:

&lt;div&gt; 作为&lt;table&gt; 的子级是无效的HTML 语法。

试试这个吧……

<table>
  <tr>...</tr>
  <tr style="page-break-inside:avoid">...</tr>
  <tr style="page-break-inside:avoid">...</tr>
  <tr>...</tr>
</table>

或者更好的是,通过 CSS 设置它——针对所有 &lt;tr&gt; 元素...

<style type="text/css">
  tr { page-break-inside:avoid }
</style>

...或者将class="myTR"设置为&lt;tr&gt;的一个属性,然后...

<tr class="myTR">...</tr>

<style type="text/css">
  .myTR { page-break-inside:avoid }
</style>

【讨论】:

  • 啊,谢谢。这些年来,我对 HTML 的了解已经枯竭。
  • 不是问题@Horba。请记住 SO 在reputation 的系统下运行。如果我的回答有帮助,请考虑upvoting it。如果我的回答能解决您的问题,请考虑marking it as accepted
  • 我已经完成了,也找到了针对我的具体问题的解决方案。使用 而不是
    。提供预期的功能。
猜你喜欢
  • 1970-01-01
  • 2023-04-10
  • 1970-01-01
  • 2013-01-25
  • 1970-01-01
  • 2017-11-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-13
相关资源
最近更新 更多