我正在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扩展将为我自动执行此清理操作?我看过ReSharper和CodeMaid,但不确定它们是否能完成这项工作?
编辑:我也有以下弃用的html属性,我希望重新定位到一个样式标签。
<td height="50">
<td width="50>
<table cellpadding="2">
没有简单的方法,原因如下。align
属性在不同的标签中具有不同的含义,并且需要不同的CSS代码。对于单独的td
,这很简单,但是如果存在,则需要将text-align: ...
与style
属性中的现有内容结合起来。实际上,您需要一个HTML解析器,而需要一个CSS解析器。
cellpadding
属性从来都不是有效的,在td
中不起作用,只在table
中起作用。将其替换为style
属性将意味着您需要在表中的每个th
和td
中放置这样一个属性。
其他表示属性可能更棘手。HTML5在渲染方面有一个复杂的章节,描述了(除其他事项外)CSS术语中表示标记的"预期"效果(这些描述并不完全符合现实,但大多数情况下是这样的)。
在所有情况下结果仍然是不一样的。HTML中的表示属性在格式化中有特殊的作用,它不能在CSS中描述(它在CSS规范中有描述,但不能在CSS代码中表达)。
这些功能在HTML5中并不是"贬值",而是"过时"。这意味着浏览器应该继续支持它们。没有很好的理由在旧页面上"清理"它们——没有可能的收获,而且"清理"会导致大量的问题,特别是如果在其中犯了错误,而人类会犯错误。