首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如果字符串在FreeMarker模板中太长,如何灵活地调整列的宽度?

如果字符串在FreeMarker模板中太长,如何灵活地调整列的宽度?
EN

Stack Overflow用户
提问于 2018-12-24 10:26:36
回答 1查看 1.2K关注 0票数 0

我面临着用FreeMarker为NetSuite设计PDF模板的问题。模板有一个标题为“序列号”的列。

模板中的代码如下:

代码语言:javascript
运行
复制
<table class="itemtable">
    <#list record.item as item>
        <#if item_index==0>
            <thead>
                <tr valign="top">
                    <th colspan="1">#</th>
                    <th colspan="4">${item.item@label}</th>
                    <th align="left">${item.quantity@label}</th>
                    <th align="left">${item.description@label}</th>
                    <th align="left">${item.serial_num@label}</th>
                </tr>
            </thead>
        </#if>
        <tr>
            <td colspan="1">${item_index+1}</td>
            <td colspan="4">${item.item}</td>
            <td align="right">${item.quantity}</td>
            <td align="left">${item.description}</td>
            <td align="left">${item.serial_num}</td>
        </tr>
    </#list>
</table>

如果序列号的长度小于其标题“序列号”,则列的宽度不会更改。

但是,如果序列号(例如,AB-795-1245-SER-572)的长度比标题的标题(序列号)长,那么列的宽度应该扩展,以在一行中显示整个值(AB-795-1245-SER-572)(没有中断行)。

但是,当前,即使值比标题长,宽度也不会改变。我不知道它的CSS,有人能给我一个建议吗?谢谢!

更新:描述

现在,这个问题改变如下:

第三列应根据值的长度动态扩展,并有固定的间隔到第二列。

第二列有固定的宽度。桌子应该和右边对齐。

代码语言:javascript
运行
复制
<table style="margin-top: 10px;">
    <tr>
        <td></td>
        <td align="right">SubTotal</td>
        <td align="right">${subtotal}</td>
    </tr>
    <tr>
        <td></td>
        <td align="right">Tax</td>
        <td align="right">${tax}</td>
    </tr>
    <tr>
        <td></td>
        <td align="right">Total</td>
        <td align="right">${total}</td>
    </tr>
</table>

我们应该如何实施呢?使用"colspan“属性是个好主意吗?

EN

回答 1

Stack Overflow用户

发布于 2018-12-24 17:48:02

您可以尝试CSS“空白”属性。

代码语言:javascript
运行
复制
<table class="itemtable">
    <#list record.item as item>
        <#if item_index==0>
            <thead>
                <tr valign="top">
                    <th colspan="1">#</th>
                    <th colspan="4">${item.item@label}</th>
                    <th align="left">${item.quantity@label}</th>
                    <th align="left">${item.description@label}</th>
                    <th align="left">${item.serial_num@label}</th>
                </tr>
            </thead>
        </#if>
        <tr>
            <td colspan="1">${item_index+1}</td>
            <td colspan="4">${item.item}</td>
            <td align="right">${item.quantity}</td>
            <td align="left">${item.description}</td>
            <td style="white-space: nowrap;" align="left">${item.serial_num}</td>
        </tr>
    </#list>
</table>

更新:示例

当我将其添加到模板中时:

代码语言:javascript
运行
复制
<table>
    <thead>
        <tr valign="top">
            <th colspan="1">#</th>
            <th colspan="4">Item</th>
            <th align="left">Quantity</th>
            <th align="left">Description</th>
            <th align="left">Serial Num</th>
        </tr>
    </thead>
    <tr>
        <td colspan="1">1</td>
        <td colspan="4">Item A</td>
        <td align="right">200</td>
        <td align="left">asdf asdfasdfasdf asdf asdf asdfasdfasdf asdf asdf asdfasdfasdf asdf asdf asdfasdfasdf asdf</td>
        <td style="white-space: nowrap;" align="left">AB-795-1245-SER-572 AB-795-1245-SER-572</td>
    </tr>
</table>

我明白了:

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53912150

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档