4

我有一组记录,我用表单视图显示,然后一次翻页。一些字段的长度变化很大,并且经常导致字段换行到第二行。当前,当您翻阅记录时,formview 的视觉外观会根据这些字段的长度而变化,并且换行会导致页面依次变高和变短。我不是页面尺寸变化的忠实粉丝,所以想解决这个问题。

这是我目前拥有的css:

.CommitmentInfo
{
  margin: 0px;
  padding: 0px;
  vertical-align: middle;
  text-align: left;
  float:left;
  list-style:none;
}
    .CommitmentInfo li
    {
      width: 300px;
    }
    .CommitmentInfo li.b
    {
      width: 150px;
    }

然后它正在使用的代码:

<ol class="CommitmentInfo">
  <li><asp:Label runat="server" Text='<%# "<b>Vendor Name:</b>" + 
      Eval("ven_name") %>' /></li>
  <li><asp:Label runat="server" Text='<%# "<b>Stock Item:</b>" + 
      Eval("cmt_stock_code") %>' /></li>
  <li><asp:Label runat="server" Text='<%# "<b>Item Description:</b>" +
      Eval("inv_description") %>' /></li>
</ol>
<ol class="CommitmentInfo">
  <li><asp:Label runat="server" Text='<%# "<b>Agent Name:</b>" + 
      Eval("cmt_agent") %>' /></li>
  <li><asp:Label runat="server" Text='<%# "<b>Sales Rep:</b>" + 
      Eval("slm_name") %>' /></li>
  <li><asp:Label runat="server" Text='<%# "<b>Documentation:</b>" +
      GetDocument(Eval("doc_description"), Eval("cmt_document")) %>' /></li>
</ol>
<ol class="CommitmentInfo">                    
  <li class="b"><asp:Label runat="server" Text='<%# "<b>Qty Changed:</b>" + 
      Eval("cmt_changed", "{0:d}") %>' /></li>
  <li class="b"><asp:Label runat="server" Text='<%# "<b>Last Update:</b>" + 
      Eval("cmt_added", "{0:d}") %>' /></li>  
</ol>

三个列表中有三列。需要双排的元素是第一列的第一个和第三个,第二列的第三个。我认为解决方案是将新类应用于那些特定的列表元素,但我无法找到任何使列表元素成为固定行数的东西。建议?

4

2 回答 2

4

我研究了类似的高度,发现将文本放入 a div,将 amax-height放在上面并overflow关闭对我有用。

于 2013-03-14T13:53:55.143 回答
1

一个潜在的解决方案是使用 EM 作为高度,因为 EM 单位是基于字体大小的。

所以这里的理论是,如果你有一行文本,字体大小是 12px 高,那么 1em = 12px。

通过将 LI 的高度设置为 2em,您可以有效地将高度设置为 24px,或者两行的高度。也就是说,这没有考虑行高,如果我们有一个 15px 的行高,那就是每行额外空间 3px,总共 6,24+6=30=2.5em

于 2013-03-14T15:24:25.883 回答