2

<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">
4

2 に答える 2

5

が有効になっている場合wgHtml5(MediaWikiソフトウェアではデフォルトで有効になっていますが、ほとんどのWikimedia Foundation wikiでは無効になっており、最近mediawiki.orgで有効になっています)、MediaWikiのHtmlプロセッサはこれらのような表示属性を取り除き、それらを大まかな同等のインラインスタイル属性。

このようなシナリオでは、text-alignまたはfloatだけではすべてをカバーできないため、そのシステムにはバグ(バグ#36495(bugzilla.wikimedia.org)として提出)があります。

参照:

しかし、問題の原因についてはこれだけです。目前の問題に戻ると、短いバージョンは次のとおりです。これらの属性は非推奨であり、そもそもそれらを使用しないことをお勧めします。

代わりにCSSを使用してください。または、この特定の例(Bergiが前述したように)では、より適切な代替方法があります。構文で|center|キーワードを使用します。[[File:

于 2012-06-08T11:20:43.237 に答える
3

ウィキは$wgCleanupPresentationalAttributesのHTML Tidy値の異なる構成で実行されているようです。これにより、非推奨のスタイリング 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]]
于 2012-06-08T08:54:07.633 に答える