属性“ nowrap”被认为已过时。建议使用较新的构造。它是什么?


70

使用Visual Studio 2010在ASPX页面中编译时出现错误:

    <td valign="top" nowrap width="237">

错误消息是

    "Attribute 'nowrap' is considered outdated. A newer construct is recommended."    

错误消息指的是什么结构?它的行为与“ nowrap”完全相同吗?

Answers:


116

您可以像这样使用它,希望您现在不会收到过时的消息。

  <td valign="top" style="white-space:nowrap" width="237">

正如@ThiefMaster指出的那样,建议将widthCSS放置并对齐到CSS(注意:CSS称之为vertical-align)。

1)

<td style="white-space:nowrap; width:237px; vertical-align:top;">

2) 我们可以像这样创建一个CSS类,这是更优雅的方式

在样式部分

.td-some-name
{
  white-space:nowrap;
  width:237px;
  vertical-align:top;
}

在HTML部分

<td class="td-some-name">

3
为什么也不要将widthandvalign移入CSS?
ThiefMaster 2012年

好建议让我做到这一点
阿迪尔

考虑将“ width”更改为“ min-width:<anything>”,以便所有空表单元格都相似
Alex Khimich

9

有多种方法可以防止换行,并且“更新的构造”一词可能涉及多种方式,这实际上是最合理的解释。他们可能大多想到CSS声明white-space:nowrap以及可能的不间断空格字符。尽管在特定情况下,不同的方法可能会产生相同的结果,但从理论上,尤其是在实践中,不同的方法并不等同,甚至还不尽相同。

从HTML属性切换到较为笨拙的CSS方式可能并没有什么真正的收获,并且禁用样式表时,您肯定会迷失方向。但是即使nowrap在所有情况下,该属性也无效。通常,最广泛使用的是nobr标记,它从未达到任何规格,但还鲜为人知<td><nobr>...</nobr></td>


1
使用<nobr>中断规范,通常对此不屑一顾。并非所有浏览器都能保证支持它。根据定义,包装控制是CSS的一项任务。 更多信息
Zenexer 2014年

2
nobr所有浏览器实际上都支持@Zenexer 。至少在某些情况下,不需要浏览器即可支持CSS,有些浏览器实际上不支持。由于HTML具有强制换行的元素,因此逻辑上(实际上已实现)还具有防止换行的元素,这是合乎逻辑的。
Jukka K. Korpela 2014年

使用<br>通常也被皱眉。;)
Zenexer 2014年

@Zenexer有没有提及为什么br被皱眉?
路易斯·马丁内斯

我猜这个答案很旧,因为使用norap属性是没有意义的,它现在在HTML5中正式弃用,而不是现在构建网站时使用whitespace:nowrap样式。
bradw2k '19


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.