【发布时间】:2015-07-01 17:20:42
【问题描述】:
我想使用多行标签,但由于控件依赖于浏览器,即使在设置标签控件的高度、宽度和换行属性时,我也无法显示多行文本它不以相同的方式支持每个浏览器.
【问题讨论】:
-
你说的到底是什么控制?你是如何使用它的,你看到了什么,你期望什么?
标签: asp.net
我想使用多行标签,但由于控件依赖于浏览器,即使在设置标签控件的高度、宽度和换行属性时,我也无法显示多行文本它不以相同的方式支持每个浏览器.
【问题讨论】:
标签: asp.net
如果您的意思是 asp:Label,那么它会解析为 HTML 输出中的 span 元素。它既不是单行也不是多行。
为这个元素定义一些固定的宽度,当它足够长时,文本将换成几行。
<asp:Label runat="server" style="width:300px;">
【讨论】:
CssClass代替inline
您可以将asp:label 中的字符串与"<br/>" 连接起来,因为它会生成html。
例如:
label1.Text = strSample1 & "<br/>" & strSample2
如果您不指定标签的宽度,它将自动扩展宽度以适合您的字符串。
【讨论】:
lblTest.Text = lblTest.Replace("\n", "<br/>");
标签默认为单行。
但是,如果您想在文本框中显示多行,那么有一个选项可能会起作用。 我无法让自动换行工作,但如果您希望发生特定的换行符,那么
label.text = string1 + "<br/>" + string2 + "<br/>" + string3;
这可能看起来很简单,但 C# Environment.Newline 在 aspx 中不起作用。
只有渲染 <br/> 对我有用。
【讨论】:
width ="...px" style="word-wrap:normal; "
如果你想打破最后一个字,如果它超过宽度,那么style="word-wrap:break-word; "
您可以使用 max-width:...px;如果您以编程方式更改宽度,请在样式标签上确保自动换行。
【讨论】:
您可以使用“maximunsize”和“autosize”标签属性来解决它,您的问题就解决了:
<asp:Label runat="server" style="width:300px;" maximunsize="300px" autosize="true">
【讨论】: