如何限制从具有 xsl 作为引用的 xml 呈现的 html 表格数据的列宽



<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format">
<xsl:template match="/">
<html>
<body>
<h2>RTCP STUB STATUS</h2>
<table border="1">
<tr bgcolor="#9acd32" >
<th>Stub Component</th>
<th>Stub Name</th>
<th>Stub Operation</th>
<th>Stub Version</th>
<th>Stub Status</th>
</tr>
<xsl:for-each select="//stub">
<tr>
<td><xsl:value-of select="@component" /></td>
<td><xsl:value-of select="@name" /></td>
<td><xsl:value-of select="@operation" /></td>
<td><xsl:value-of select="@version" /></td>
<td><xsl:for-each select="instances/instance">
<xsl:value-of select="@status"/>
<xsl:value-of select="'&#160;'"/>
</xsl:for-each>
</td> 
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>

现在,当我运行以xsl以上作为参考的XML时,表格html输出是完美获得的,但是对于组件名称太长的几行,屏幕可以从左到右滚动,并且以这种方式导航和滚动并不好。如果有人能让我知道如何限制渲染的 html 输出的列大小,我将不胜感激。我的第一列组件本身从左到右覆盖了整个屏幕。

谢谢艾希礼

您需要添加一些样式规则,以便将该表格式化为输出的 html。 像这样将样式表添加到您的html中(我没有显示样式表的任何不相关的部分)

<html>
    <head>
        <style type="text/css">
            table {table-layout: fixed; width: 100%;}
            td {width: 20%; word-wrap: break-word;}
        </style>
   </head>
   <body>

这些附加样式规则会导致表格填充窗口,并且每个单元格为窗口宽度的 20%(您可以根据需要进行调整)。 太长而无法放入单元格的单词将被破坏/换行到下一行。

相关内容

  • 没有找到相关文章