有没有一种简单的方法可以使html textarea和输入类型的文本相等地变宽?
是否有一种简单的方法来获取HTML文本区域和输入type =" text"来呈现(大约)相等的宽度(以像素为单位),并且可以在不同的浏览器中使用?
CSS / HTML解决方案将是出色的。我希望不必使用Javascript。
谢谢
/埃里克
解决方案
回答
我们应该可以使用
.mywidth { width: 100px; }
<input class="mywidth"> <textarea class="mywidth"></textarea>
回答
就在这里。尝试做这样的事情:
<textarea style="width:80%"> </textarea> <input type="text" style="width:80%" />
两者应等于相同的大小。我们可以使用绝对尺寸(px),相对尺寸(em)或者百分比尺寸来实现。
回答
只需注意一点,宽度总是受客户端发生的事情影响的,PHP不会影响这些事情。
在元素上设置通用类并在CSS中设置宽度是我们最干净的选择。
回答
有人提到了此内容,然后将其删除。如果要对所有文本区域和文本输入进行样式设置而没有类,请使用以下CSS(在IE6中不起作用):
input[type=text], textarea { width: 80%; }
回答
使用CSS类来确定宽度,然后将元素放入HTML DIV中,DIV具有上述类。
这样,布局控制总体上应该更好。
回答
这是一个CSS问题:宽度包括边框和填充宽度,在不同的浏览器中,它们的INPUT和TEXTAREA默认值不同,因此也要使它们相同:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <title>width</title> <style type="text/css"> textarea, input { padding:2px; border:2px inset #ccc; width:20em; } </style> </head> <body> <p><input/><br/><textarea></textarea></p> </body> </html>
CSS规范的"框尺寸"部分对此进行了说明,其中说:
The box width is given by the sum of the left and right margins, border, and padding, and the content width.
回答
回答第一个问题(尽管已经被回答死了):CSS宽度是我们所需要的。
但是我想在答案中回答盖乌斯的问题。 Gaius,问题是我们要在em中设置宽度。这是一个很好的想法,但是我们需要记住em是基于字体大小的。默认情况下,输入区域和文本区域具有不同的字体和大小。因此,当我们将宽度设置为35em时,输入区域使用其字体的宽度,而textarea使用其字体的宽度。文本区域的默认字体较小,因此文本框较小。设置宽度(以像素或者点为单位),或者确保输入框和文本区域具有相同的字体和大小:
.mywidth { width: 35em; font-family: Verdana; font-size: 1em; }
<input type="text" class="mywidth"/><br/> <textarea class="mywidth"></textarea>
希望能有所帮助。
回答
如不相等的HTML文本框和XHTML 1.0严格的下拉宽度中所述,它也取决于文档类型。
我注意到,当使用XHTML 1.0 strict时,确实出现了宽度上的差异。