2017-08-12 8 views
0

div(display:table cell)にイメージを収めようとしています。幅はdivの幅を超えることはありませんが、高さは常に同じです。私はIE 11ではテーブルの全体的なサイズが正確であるため、うまくいきます。しかし、Chromeでは計算された高さは9.297ピクセルです。 Firefoxでは計算された高さは10.5ピクセルです。 CSSのdiv の指定された幅とセルは、9ピクセル×9ピクセルです。下のコードから見ることができるように、それはテーブルの構築ですが、divにあります。私は との年齢のためにそれの周りに投稿の負荷の助けをしたが、私はそれが完全に動作するようにすることはできません。明確にするには、高さは9ピクセルを超えることはできません。divテーブルのセルの高さが画像の高さを超えています

誰かがそれを動作させるためのアイディアを持っているかどうかは疑問でした。私はそれがIEで動作していると思うと言いますが、他のものではありません。

私はこれをJSFiddle-https://jsfiddle.net/eermepfe/に含めました。それは私のテーブルの正確なレプリカではありません。私は非常に多くの細胞を持っています。さらに、フィドルの高さの伸びは、自分のbroswerの結果よりもさらに悪いです。まだそれは問題を捉える。

おかげであなたの助け

<div id = "table"> 

<div class = "row"> 

<div class = "inner"> 

<img src = "image.png"> 

</div> 

</div> 


</div> 

は、多くの行と行の多くのdivがありますが、彼らは上記の設定に従ってください。

CSS 

#table{ 
display: table; 
table-layout: fixed; 
height: 700px; 
width: 1200px; 
} 

.row{ 
display:table-row; 
} 

.inner{ 
text-align: center; 
line-height: 9px; 
display: table-cell; 
background-color: red; 
height: 9px !important; 
width: 9px; 
border-top: 1px solid black; 
border-right: 1px solid black; 
} 

img{ 
height: auto; 
max-width: 9px; 
vertical-align: middle; 
display: block; 
} 
+0

あなたは '#table IMG {MAX-高付加しようとしたことがあり:9pxを。 } 'でも? – Prajjwal

+0

うん。それは動作しません – user1849962

答えて

1

.inner要素

.inner{ 
    box-sizing:border-box; 
    display:flex; 
    align-items:flex-start; 
} 

編集にこのスタイルを追加し、これらのスタイルを試してみてください。

.table{ 
    width:100%; 
} 
.row{ 
    display:flex; 
} 
.inner{ 
    box-sizing:border-box; 
} 
+0

あなたがこれを行う場合、テーブル全体が笑って表示されます – user1849962

+0

これはFirefoxとChromeでは良いですが、私のCSSルールに加えて、あなたがそれを意味するかわかりません。今では、IE11はセル幅の点で変わっています。あなたはクロスbroswerのソリューションがあると思いますか、私はちょうどjavascriptを使用して、それぞれのbroswerをアカウントthay方法で取らなければなりませんか? – user1849962

+0

あなたはこれを試してみましたか? '* {box-sizing:border-box}'のみです。クロスブラウザで動作する必要があります。 .inner要素が高さ9pxに達していないことがわかります。私が以前与えたスタイルを無視してください。広告だけ*スタイル –

関連する問題