不会在文本区域中设置列

问题描述 投票:7回答:3

这真是太神秘了。我有一个带有textarea字段的表格。我删除了装饰器和所有其他东西,并使用行和列(在Zend Framework中开发)setAttribs。文本区域仍然非常宽,从容器中溢出并进入视口之外。我可以根据需要添加屏幕截图。

这是基本代码:

<form id="edit-pending-email" enctype="application/x-www-form-urlencoded" method="post" action="[path]/email/edit-pending-email/">

<label for="salutation" class="optional">Salutation</label>

<input type="text" name="salutation" id="salutation" value="Yo" /> <p><label for="content" class="optional">Body of Email</label>

<textarea name="content" id="content" cols="40" rows="30"> blah blah ... text goes here ...

</textarea></p>

<input type="submit" name="save" id="save" value="Save" />

<input type="submit" name="cancel" id="cancel" value="Cancel" /></form>

这里是奇怪的地方。

  1. 如果更改行值,则行会更改。如果我更改cols值,则没有任何改变。但是这些行的确发生了变化,因此我知道语法是正确的,无论如何我都与其他开发人员进行了核对。他们也不知道发生了什么。
  2. 如果我复制代码并将其粘贴到简单的html页面中,则textarea大小正确

我看过CSS(没关系,但我检查了),没有对cols的引用,唯一的宽度引用是对其他元素的引用。简而言之,绝对没有理由要设置cols的状态。

但是,是。

html zend-framework textarea
3个回答
10
投票

设置width: auto后,cols属性对我有用(至少在Chrome中,我还没有测试其他浏览器)。

textarea {
  width: auto; 
}

1
投票

我终于找到了这个。确实在样式表中。也就是说,它不在样式表中,但应该存在。

出于种种原因,我不明白,无论cols说什么,文本区域(也适用于其他元素)都希望扩展到最大。这对我来说没有任何意义,但确实如此。

解决此问题的方法是设置最大宽度。一旦这样做,该元素就会表现出来并调整为适当的宽度。注意:宽度不行。仅最大宽度有效。

Geez。


0
投票

尝试将max-width设置为:您想要以%为单位的exp(60%)。应该这样做)>

© www.soinside.com 2019 - 2024. All rights reserved.