将CSS设置为Textarea宽度100%。

5

我有一个文本域(Textarea)在TD标签内部,我想将文本域的宽度设置为100%,以便宽度与TD的宽度相同。

我已经使用了:

textarea{width:100%}

但它没有起作用。

请问有人知道为什么它不起作用吗?

谢谢。


5
“它没用”是对问题非常无用的描述。是什么导致它“不起作用”?请详细说明。 - thirtydot
在这个fiddle中可以正常工作... 没有更多的细节很难确定为什么在你的情况下无法工作。也许是另一种样式在干扰? - Adam Price
@optus:你给td设置了宽度,作弊者 ;) 我想@Satch3000忘记了这个。 - Marnix
3个回答

11
问题在于,根据我的想法:您的文本区域希望从它所在的获取其宽度(100%)。但是一个默认具有动态宽度,因此除非您指定的宽度,否则您将无法使文本区域占据整个单元格的 100%。
一个单元格本身没有宽度,即使您认为它会随着表格自动缩放。但实际上不会,因为这种自动缩放取决于其中的内容。 因此,100%的内容解释不正确,因为100%取决于的宽度,而的宽度本身是动态的。
我可以继续以这种方式循环回答...

0
你有关闭textarea标签吗?以下代码可以正常工作:
<html>
<head>
</head>
<body>
<table style="width:500px;border:1px solid red"><tr><td>
<textarea style="width:100%"></textarea>
</td></tr></table>
</body>
</html>

为什么只有使用内联CSS时才有效?我想将所有文本区域设置为100%,但只有内联样式起作用。 - Satch3000
可能是因为不同的CSS类更具体。直接设置“style”属性几乎是最具体的。 - Adam Price
2
你也可以尝试覆盖更具体的选择器: textarea{width:100%!important} - lod3n

-1

尝试

-webkit-box-sizing: border-box;
   -moz-box-sizing: border-box;
        box-sizing: border-box;

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接