13

如何将文本移动到具有该type="button"属性的 HTML 输入元素中的新行?

我有以下代码:

<input type="button" id="btnTexWrapped" value="I see this is a long sentence here." style="width: 200px;" />

我希望将按钮的文本值包裹在两行中。我尝试将它输入到 HTML 的下一行。它没有像我预期的那样工作:

<input type="button" id="btnTexWrapped" value="I see this is a long 
sentence here." style="width: 200px;" />

我也尝试使用所有选项white-spacewith fixed width: 200px;,但仍然没有任何效果。

我可以静态地固定长度、宽度或其他值:因为控件不会改变。

4

6 回答 6

23
white-space: normal;

应该管用

于 2012-10-24T11:45:33.440 回答
17

试试这个,你可以立即看到它是如何工作的:

<input type="button" value="Carriage&#13;&#10;return&#13;&#10;separators" style="text-align:center;">
于 2012-10-24T11:44:00.117 回答
14

您可以使用按钮标签

<button> 我看到这<br/>这里是一个很长的<br/>句子。</button>

于 2013-06-18T12:34:01.203 回答
6

对于 4 年后阅读此问题的任何人,我想添加一些澄清细节。Lokesh 的答案是正确的(不是公认的答案),但最初的问题是基于对 HTML 工作原理的误解,没有人解决这个问题。

HTML 不是一种重要的空白语言。也就是说,浏览器会完全忽略任何新行。虽然您可以(并且应该!)在 HTML 代码中添加新行以编写可读、可维护的 HTML,但它(几乎)不会影响最终结果(我不会在这里讨论异常)。

正如 Lokesh 所指出的,您可以使用<br />标签强制换行。另一种常见的方法是使用块级元素,例如divor section

浏览器 UA 样式表将许多元素设置为阻止。它们通常是容器元素,例如<div><section><ul>。还有文字“块”,如<p><h1>。块级元素不是内联的,而是突破它们。默认情况下(不设置宽度),它们尽可能多地占用水平空间。

这是来自https://css-tricks.com/almanac/properties/d/display/的引用,它是关于属性的不同属性的非常好的参考display

此外,我不建议尝试使用任何其他需要将编码换行符放入value属性中的建议解决方案。这将input标签推到了设计的范围之外。如果您需要更复杂的按钮内容,则button标记更合适。事实上,我通常认为没有充分的理由使用<input type="button">标签button。它更加语义化,更易于阅读,并且无限灵活 - 例如,允许在其中包含中断和其他元素(例如图像!)。

只需一点知识和来自专业网络开发人员的一些建议...... :)

于 2016-04-19T00:46:11.427 回答
2

我在我的一个项目中遇到了交叉类型的需求,我解决了如下问题。

使用 html 编码字符串

<input button type="submit" value="This is button &#x00A; two line text" />

&#x00A;

用于拆分按钮标签的 value 属性中的文本

希望对你有帮助..

于 2013-07-04T09:13:50.147 回答
-12

只需在值的中间按回车键,如下所示:

<input type="button" id="btnTexWrapped" value="I see this is a long 
sentence here." style="width:200px;"/>

一世

于 2012-10-26T01:36:57.513 回答