【问题标题】:Textbox stretching issue文本框拉伸问题
【发布时间】:2010-10-27 18:17:39
【问题描述】:

我有以下代码

<table cellpadding="2" cellspacing="2">
  <tr>
    <td>Factory:</td>
    <td>
      <asp:TextBox ID="txtFactory" runat="server" Width="100%"></asp:TextBox>
    </td>
  </tr>
</table>

我的问题是,有时工厂文本框可以包含 100 个或更多字符的相当长的描述,当这种情况发生时,我的文本框会变宽超出屏幕边缘,这会导致水平滚动条出现在我的底部浏览器,我真的不想要那个。我想要的是让我的 TextBox 扩展到浏览器窗口所在的宽度,并且还能够在用户调整浏览器窗口大小时调整大小。

【问题讨论】:

  • 代码隐藏文件中是否有任何代码会以任何方式改变 TextBox 的宽度?
  • 我使用了您的代码,在 IE 和 FF 中加载包含大量文本的文本框时没有滚动问题。您的文本中没有空格吗?
  • @Fredrik - 不,我不知道。好主意。
  • @OrbMan - 不,它没有。但是您让我想知道是否没有另一种样式将页面内容向右推一点,这可以解释为什么它超出了浏览器宽度。

标签: .net css textbox width


【解决方案1】:

如果你不反对使用 javascript,jQuery 有一个非常简单的解决这个问题的方法。您可以使用它来初始设置文本框的大小,并将调整大小事件处理程序附加到正文标记。在事件处理程序中,只需让文本框的宽度与正文的宽度匹配即可。

【讨论】:

  • 我公然使用 javascript,但我还没有开始使用 jQuery。假设我应该开始。 ;)
【解决方案2】:

杰格,

检查 Wrap 和 MaxLength 属性。

W3Schools 有一些关于 WebControls 的重要信息。

(http)://www.w3schools.(com)/aspnet/control_textbox.(asp)
---我还不能发布链接,抱歉---

祝你好运,

-罗伯特

【讨论】:

    【解决方案3】:

    使用 Firebug 用 FF 检查您的 HTML,看看是什么扩大了您的主容器。

    如果您的文本太长且没有空格,浏览器不知道在哪里放置换行符,可以使用 TD 或 TextBox 中的 WRAP 属性修改此行为(在浏览器中呈现为 SPAN 一次)。

    【讨论】:

      【解决方案4】:

      表单元素的标签在哪里? 为什么要使用表格进行布局? 为什么要在 HTML 中而不是在 CSS 文件中指定 textarea 的宽度?

      正确行事!

      【讨论】:

      • 拜托,不要让我神经过敏。我不是在这里要求 table vs. div 参数。仍然有必须使用表格标签的时候。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-16
      • 2012-01-07
      • 2019-05-10
      • 2018-02-16
      • 1970-01-01
      相关资源
      最近更新 更多