「innerDIV」を含む1つの「outerDIV」を持つこのコードがあります。クロムでは「innerDIV」のサイズは491pxですが、IEでは425px(outerDIVと同じ)です。したがって、Chromeでは、「innerdiv」の最初の2つの子、「My test string#1」と「test2」を確認できます。しかし、IEの場合、私は最初の子しか見ることができません。
FirefoxはIEと同じように動作するため、「正しい」動作がどうあるべきかはよくわかりません。ただし、IEにChromeと同じように動作させたいと思います。
私はいくつかのcssスタイル(主にオーバーフローと表示)を試してきましたが、それでも正しく行うことができません。IEは、要素を合わせるために幅ではなく高さを拡張します。
IEがdiv要素をインラインでラップするようにcssを変更する方法を理解するのを手伝ってくれませんか?ただし、制限として、HTMLの幅を変更することはできません。利点として、私はIEに対してのみロードするcssを使用して、この種のIEの不整合にパッチを適用しています。同じcssはchromeには読み込まれないので、IECSSを変更するときにchromeをいじることを心配する必要はありません。前もって感謝します!
<html>
<head>
<style type="text/css">
<!--
body {
font-family: helvetica;
}
.myContainer {
overflow: hidden;
border: 1px solid rgba(0, 0, 0, .5);
font-size: 14pt;
height: 49px;
line-height: 49px;
overflow: hidden;
display: block;
}
.myContainer > DIV {
float: left;
white-space: nowrap;
display: block;
}
.myContainer .item:first-child {
padding-left: 10px;
}
.myContainer .item {
float: left;
padding-right: 32px;
}
-->
</style>
</head>
<body>
<div id="outerDIV" class="myContainer" style="display: block; width: 425px;">
<div id="innerDIV">
<div class="item">
--------My test string #1--------
</div>
<div class="item">
------test2-------
</div>
<div class="item">
test
</div>
</div>
</div>
</body>
</html>