0

次のスクリプト(https://jsfiddle.net/u9z76r6q/2/)はIE-11の画像をセンタリングしない:矢印画像が中央に配置され、他のすべての近代的なブラウザでテキストアラインメントの中心と絶対位置がIE-11で同時に動作しないのですか?

.container { 
 
    display: block; 
 
    width: 400px; 
 
    height: 200px; 
 
    text-align: center; 
 
    border: 1px solid black; 
 
} 
 
span { 
 
    position: absolute; 
 
    
 
}
<a href="#" class="container"> 
 
    <span> 
 
    <img src="https://redarrowmedia.files.wordpress.com/2012/03/arrow-logo1.png" alt="" width="40px" height="40px">  
 
    </span> 
 
    </a>

を。これはInternet Explorerのバグですか?

+1

私の意見では、Chrome/FFとIEは間違っています。 IEは 'left'が' 0'に設定され、Chrome/FFのように振る舞います。正直言って、仕様では 'text-align:center'と' left:auto'の組み合わせについては見つけられませんでしたが、[CSS absolute and fixed positioning](https://www.w3 .org/wiki/CSS_absolute_and_fixed_positioning)私はIEが間違っていると言いますが、Chrome/FFは少しです。 –

+1

面白いですが、いったんこれがIEのこのような振る舞いをしたら、他のブラウザはテキストの整列に気にしませんでした。まあ、ずっと前に、私は左翼のコオドネスを再定義して、どこでも同じ行動をとるように習慣を取った。 –

+0

@GCyrillus 'left'はここで' auto'なので、他のブラウザはテキストアライメントに気を付けるべきです。 – user31782

答えて

1

絶対配置された要素は親の幅をとらないため、その幅は内容によって異なります。ブラウザが異なると、測位スパンが異なるため、結果が異なります。 width: 100%; left: 0;をスパンに追加します。

UPD:Chromeでスクリーンショット:IEで enter image description here

スクリーンショット:あなたはIEスパンで見ることができますenter image description here

が中央にChromeで左中に配置されています。 スパンの内容はまだ中央に揃えられていますが、スパンの幅が小さすぎて表示できません。スパンに幅を加え、内部のコンテンツが中央に揃うようにします。 フィドル:https://jsfiddle.net/u9z76r6q/3/ IEで見る

UPD2:実際にはChromeのスパンも中央にありません。それはleft: 50%;のように振る舞います。その左の境界線は中央にあります。

+0

彼らはどのようにそれを配置していますか? 'left:0'は常にデフォルト値です。絶対位置は 'text-align:center'と何が関係していますか? – user31782

+0

クロムの中であなたのフィドルを開いてください。スパンの位置が異なっていることがわかります。 – Julia

+0

Text-align:centerは絶対配置された要素自体には影響せず、その内容のみに影響します。 – Julia

関連する問題