Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 赢得'列;t设置在文本区域_Html_Zend Framework_Textarea - Fatal编程技术网

Html 赢得'列;t设置在文本区域

Html 赢得'列;t设置在文本区域,html,zend-framework,textarea,Html,Zend Framework,Textarea,这是非常神秘的。我有一个带有textarea字段的表单。我已经删除了decorator和所有这些,并且我使用行和列(在Zend框架中开发)设置了属性库。textarea仍然非常宽,从其容器中溢出到视口之外。如果需要,我可以添加一个屏幕截图 以下是基本代码: <form id="edit-pending-email" enctype="application/x-www-form-urlencoded" method="post" action="[path]/email/edit-pend

这是非常神秘的。我有一个带有textarea字段的表单。我已经删除了decorator和所有这些,并且我使用行和列(在Zend框架中开发)设置了属性库。textarea仍然非常宽,从其容器中溢出到视口之外。如果需要,我可以添加一个屏幕截图

以下是基本代码:

<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>

打招呼
电子邮件正文
胡说八道。。。这里有文字。。。

这里有一些奇怪的地方

  • 如果更改“行”值,则行会更改。如果我更改cols值,则不会更改任何内容。但是行确实发生了变化,所以我知道语法是正确的,不管怎样,我与其他开发人员进行了交叉检查。他们也不知道发生了什么
  • 如果我复制代码并将其粘贴到一个简单的html页面中,textarea的大小就会正确
  • 我已经查看了CSS(这不重要,但是我检查了),没有对cols的引用,唯一的宽度引用是对其他元素的引用。简言之,cols设置的行为方式完全没有理由


    然而,确实如此。

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

    事实证明,出于我不理解的原因,textarea(也适用于其他元素)希望扩展到其最大值,而不管cols怎么说。这对我来说毫无意义,但确实如此

    解决此问题的方法是设置“最大宽度”。我一这样做,元素的行为和大小就达到了合适的宽度。注意:宽度不起作用。只有最大宽度有效


    哎呀。

    在设置了
    宽度:auto
    之后,cols属性对我有效(至少在Chrome中,我还没有测试其他浏览器)


    尝试将“最大宽度”设置为:exp(60%)的百分比中所需的任何值。这样就可以了

    Oh crud。代码没有粘贴。如果您使用Chrome浏览器,请右键单击文本区域,然后单击
    Inspect Element
    ,以获得该字段所有计算样式特征的明细。@James或Firebug在Firefox中@跳过你到目前为止发布到CSS的所有内容。谢谢你的评论。我已经看过了。cols=“40”和rows=“30”就在textarea标记中。CSS继承规则规定,这些设置应该覆盖样式表中的任何内容。在任何情况下,正如我在原始帖子中所说的,我已经彻底检查了样式表,没有与textarea或form.Doh相关的宽度设置。不习惯这个编辑器。我只是想说,我同意这听起来像是一个风格问题,但我不能把它归结为这一点。从php的角度来看,我发布的代码中有什么错误吗?或者这看起来对吗?我是php(Zend)的新手,而不是CSS的新手,我已经深入研究CSS很多年了。因为Chrome基本上是Webkit(现在),所以在Safari中也可以使用。
    textarea {
      width: auto; 
    }