2015-11-22 13 views
6

イメージを1行横に置き換えるときに、テーブル行のセルとして置き換えようとしています。<img>要素とディスプレイ:table-cell

そのレイアウトは他の要素では動作しますが、何らかの理由で<img>で動作しません。

チェックこの:

div { display:table; border:1px solid red; } 
 
div > img { display:table-cell; }
<p>These shall be replaced in single row but they are not:</p> 
 

 
<div> 
 
    <img src="http://lorempixel.com/output/city-q-c-78-50-6.jpg"> 
 
    <img src="http://lorempixel.com/output/people-q-c-78-50-5.jpg"> 
 
    <img src="http://lorempixel.com/output/animals-q-c-78-50-5.jpg"> 
 
</div>

任意のアイデア?

UPDATE:FFはCSS仕様に従い、1行で置き換えます。他のすべてのブラウザはそうではありません。 Heil Firefox!

+0

あなたが 'div> img {display:table-cell; } 'イメージをデフォルトのインライン表示で使用できるようにしますか? – Aguardientico

+0

各画像は1行にありますか? – repzero

+0

テーブルとテーブルセルの宣言を完全に削除しないのはなぜですか?画像は、インライン要素として自然に整列します。 – j08691

答えて

0

EDIT

IMGは、計算とボックスモデルが異なって測定しています、置き換え要素です。 ARTICLE


にこれを参照してくださいあなたは、テーブルを使用して主張し、@StevenThomas's PenCode

のこのフォークを見て間隔を懸念している場合は、4PXをしたい場合、私はすべてのdiv

.container { display: table; table-layout: auto; width: 100%; } 

img { display: inline-table; margin: .33em; width: 30%; height: auto; } 

使用margin: .125emを削除;ボーダー間隔。


変更divがインラインブロックに

変更IMGをインラインブロックする代わりにdiv要素の

div { 
 
    display: inline-block; 
 
    border: 1px solid red; 
 
} 
 
div > img { 
 
    display: inline-block; 
 
}
<p>These shall be replaced in single row but they are not:</p> 
 

 
<div> 
 
    <img src="http://lorempixel.com/output/city-q-c-78-50-6.jpg"> 
 
    <img src="http://lorempixel.com/output/people-q-c-78-50-5.jpg"> 
 
    <img src="http://lorempixel.com/output/animals-q-c-78-50-5.jpg"> 
 
</div>

+2

これは(コメントで示唆された他のアプローチと同様に)機能しますが、OPの質問には答えません。 'img'を' display-cell'に設定できないのはなぜですか? –

+0

テーブル行に正確に必要なので、マークアップで使用されるスペースとは無関係のborder-spacing を使用できます。 –

+0

'show:table-cell'が' img'タグで正しく動作しないので、3つのイメージを連続して配置することは重要ではないとOPはこの質問をしました – Cheslab

0

、あなたはテーブルを使用して試みることができます。構文は次のとおりです。

<table> 
    <tr> 
    <td></td> 
    <td></td> 
    <td></td> 
    </tr> 
    <tr> 
    <td></td> 
    <td></td> 
    <td></td> 
    </tr> 
    </table> 

trタグは行で、tdタグは列です。私はこの構文を使います:

<table> 
<tr> 
<td><img src="http://lorempixel.com/output/city-q-c-78-50-6.jpg"></td> 
<td><img src="http://lorempixel.com/output/people-q-c-78-50-5.jpg"></td> 
<td><img src="http://lorempixel.com/output/animals-q-c-78-50-5.jpg"></td> 
</tr> 
</table> 
関連する問題