1

我正在使用 Visual Studio 2012 中的一个项目,该项目中充斥着弃用的 HTML 标记。这会导致大量 Visual Studio 警告。其中大量是align属性标签广泛使用的结果。

<td align="Left">
....

所以我确实看到了数百个以下警告:

Validation (XHTML5): Attribute 'align' is not a valid attribute of element 'td'.    

执行站点范围更新以将其转换为内联 CSS 样式的最佳方法是什么?我已经尝试了查找替换正则表达式,但某些元素已经具有样式定义,因此正则表达式方法会导致重复的样式标签。

是否有 Visual Studio 扩展可以为我自动执行此清理操作?我看过ReSharperCodeMaid,但不确定它们是否能胜任?

编辑:

我还有以下不推荐使用的 html 属性,我希望将其重新定位到样式标记。

<td height="50">
<td width="50>
<table cellpadding="2">
4

1 回答 1

2

没有简单的方法,有几个原因。该align属性在不同的标签中具有不同的含义,需要不同的 CSS 代码。单独来说td,这很简单,但是如果存在,您将需要与属性text-align: ...中的现有内容相结合。style实际上,您需要一个 HTML 解析器一个 CSS 解析器。

cellpadding属性从未有效且在 中不起作用td,仅在 中起作用table。用属性替换它style意味着您需要将这样的属性放在每个表中thtd

其他表示属性可能更棘手。HTML5 有一个关于Rendering的复杂部分,用 CSS 术语描述(除其他外)表现性标记的“预期”效果(这些描述与现实不太相符,但大多数情况下确实如此)。

在所有情况下,结果仍然不一样。HTML 中的表示属性在格式化方面有特殊的作用,它不能用 CSS 来描述(它在 CSS 规范中有描述,但你不能用 CSS 代码来表达)。

(这些功能在 HTML5 中不是“贬值”,而是“过时”。这意味着浏览器应该继续支持它们。没有充分的理由在旧页面上“清理”它们——没有可能的收益,而且是“清理”导致的大量问题,特别是如果其中出现错误,并且人类会犯错误。)

于 2014-03-18T21:35:48.833 回答