我注意到<td align="center">
代码在MediaWiki.org页面和en.wikipedia.org页面上的工作方式不同。我在两个wiki上输入了相同的以下测试代码:
来源(测试)代码:
<table border="1">
<tr>
<td align="center">
test test test test test test
test
<table border="1"><tr><td>
[[File:Information_icon.svg|20px]]
</td></tr></table>
test
</td></tr>
</table>
为什么MediaWiki.org页面会生成以下(错误)代码:
<td style="text-align: center;">
代替(预期):
<td align="center">
答案 0 :(得分:5)
启用wgHtml5
时(默认情况下在MediaWiki软件中启用,但在大多数维基媒体基金会wiki上禁用,最近已在mediawiki.org上启用),MediaWiki中的Html处理器会删除表示属性等就像这些一样,并用粗略的等效内联样式属性替换它们。
该系统在诸如此类的场景中存在错误(以bug #36495 (bugzilla.wikimedia.org)提交),因为text-align或float本身并未涵盖所有错误。
另见:
但对于问题的原因这么多。回到手头的问题,简短的版本是:这些属性已被弃用,而你最好不要首先使用它们。
而是使用CSS。或者,在此特定示例中(如前面提到的Bergi),有一种更合适的替代方法:在|center|
语法中使用[[File:
关键字。
答案 1 :(得分:3)
wiki似乎使用configs for HTML Tidy的不同 $wgCleanupPresentationalAttributes 值运行,这将更正已弃用的样式html属性,而不是css。
然而,align="center"
和style="text-align:center"
并未显示完全相同的行为。虽然align属性同时影响内联元素,块元素和afaik本身,但css属性仅对齐内联元素(文本)。要对齐块元素,您可以使用margin-property。
正确标记:
{| style="text-align:center; border:1px solid;"
| test test test test
test
<div style="margin-left:auto; margin-right:auto;">
[[File:Information icon.svg|20px]]
</div>
|}
或者,甚至更容易:
[[File:Information icon.svg|center|20px|border]]