どの場合に属性がサポートされ、どこでサポートされるようにスタイルに追加する必要があるのかという質問に興味がありました。 これがサイトで機能する場合、これが正しい属性であるという素朴な意見を支持しますが、それにもかかわらず、図面をセンタリングするツールを入手します。
実際、HTMLのalign = "center"属性はブロック要素(div、p、...)を対象としており、それらを参照するのではなく、要素の内部コンテンツを参照します。 したがって、次のように書くと
<p align="center"><img src="123.gif"/></p>
次に、センタリングが機能します(これは、alt = " pic-sub-test "の図面とともにテストページに表示されます)。
ただし、Habréには記述できません。これらはタグパーサーのルールです。
これがHabréでどのように機能するかを確認するには、コメントを書くとき、またはドラフト記事でプレビューを使用できます。 これは最終的な外観と完全には一致しませんが、テストに使用できます。
<div align="center"><img src="1450823006127547032299"/></div> <img align="center" src="1450823006127547032299"/>
表示される内容は次のとおりです。
Firefoxを除くほとんどのブラウザでは、2番目の画像が中央に配置されます(Habrのスタイルがまだ修正されていない場合)。ただし、 テストではこの属性がブラウザでサポートされていないことが示されます(Doctypeのまれな例外を除く)。
この間違ったテキストはどこでも機能しないのに、FirefoxではなくHabréで機能するのはなぜですか?
UPD 1月25日 2013 (1年後): Habrのスタイルがこの誤った属性をサポートしなくなったことが判明しました。 サイトで使用するには、Firefoxで行う前と同じ方法でユーザースタイルを追加する必要がありました。
描画スタイルを見ると、その理由がわかります。
img[align="center"] { display: block; margin: 0 auto !important; }
はい、all.cssファイルのHabréでは、間違った属性を「正しい」に変換するこのフェイントがサポートされています。 これらのプロパティを使用して、中央揃えを開始するために画像を作成する必要があります- マージンスタイルによってブロックおよび中央になります:0 auto; 。
(しかし、そのような属性がないことを知っている人は、それがHabréで動作することを推測できません-ドキュメントがなく、Fxでのテストは合格しません。たとえば、 メモで aleksandrIt各アノテーションで)Chromeを通して見て。)
Firefoxでセンタリングが機能しない理由はまだ理解されていません。
ポイントは小さい-スタイルも見てください(Firebugを使用)。 ここでは、属性がalign = "middle"に奇跡的に変更され、手動で名前を変更しても修正に役立たないことがわかります。 彼自身の意見では、ブラウザー自体が間違った属性を最も適切な属性(行要素のストリーム内の垂直方向の配置)に変更します。 したがって、スタイルルールimg [align = "center"]は機能しなくなります。
したがって、Habréでの完全なブラウザーサポートには、ルールがありません。
img[align="center"], img[align="middle"]{ display: block; margin: 0 auto !important; }
属性を使用して空白ページをテストする
さまざまなブラウザーでimg align =“ center”属性を確認するためのテストページを表示するには、 smbbt.kodingen.com / habrahabr / testImgAlignCenter.htmにアクセスしてください 。 Firefoxでは、このように表示されますが、他のブラウザーではわずかに異なります。 写真とブロックは、区別しやすいように色付けされています。 ALTに署名を見るための実際の写真はありません。
最初に、「基本テスト」という碑文の下に、青みがかったブロック「 空の図 」があり、目的の属性と完全に論理的な属性が画像で失敗します。
[修正スタイルを有効にする]リンクを1回クリックするだけで、受け取ったスタイルルールの適用を確認できるため、すべてのブラウザーでセンタリングが機能し始めます。
テクニカルノート。 addRules()スタイル関数の外観は、IE8ブラウザーにスクリプトを含めたいという要望が原因です。 (IE9ではテストされていませんが、残りのように機能するはずです。)doctypeがなければ、margin:0 autoルールはIE8では機能しませんが、align:rightおよびleft属性は機能します。
どうする
このようなルールは、Habr ZenCommentスタイルのエラーとHabrAjaxスクリプト(Habr-adjax) のエラーを修正するために特別に記述され、その後、すべてのブラウザーでalign = "center"属性によるセンタリングが正しく機能し始めました。
一般的な結論については 、この属性がIMGタグで機能するというウェブマスターの間での意見を支持すべきでないと言わなければなりません。 属性の時代が過ぎて、誰もがスタイルを使用しているとしましょう。経験の浅いWebビルダーの中には、そのような属性が存在するという意見にfallする人もいます。
UPD 1月25日 2013 (1年後): Habrのスタイルがこの誤った属性をサポートしなくなったことが判明しました。 サイトで使用するには、Firefoxで行う前と同じ方法でユーザースタイルを追加する必要がありました。