2

TD にテキストを表示しています。td のオーバーフロー プロパティを非表示にしましたが、このコードは Chrome、Safari、Mozilla では正常に動作しますが、IE では動作しません。-ms- を使用しましたが、機能していません。

これは、テーブル行を作成するために使用しているコードです

strRowTd += "<tr><td height=\"20\" style=\"-ms-display: block;" +
            "display: block;overflow:hidden;-ms-overflow:hidden;\" " +
            "class=\"body_text_white_mid\">" +
            "<strong>" + data[i + 1][4] + "</strong>";
strRowTd += "</td></tr>";
4

2 に答える 2

2

「オーバーフロー」はブロックレベルの要素でのみ機能するため、問題があります。<div>テーブル要素はブロック要素ではないため、効果を得るにはラッパーを使用する必要があります。結果の Html マークアップは次のようになります。

<tr>
  <td class="body_text_white_mid">
    <div style="height:20px; overflow:hidden;">
      your data[i][j]
    </div>
  </td>
</tr>

classの代わりに使用する方が良いでしょうstyleString.Format(markupRow, data[i][j])文字列連結の代わりにも使用します。

于 2012-09-22T12:44:02.577 に答える
1

HTML テーブルは、ユーザー エージェントが列幅をコンテンツに合わせて調整するのを防ぐ "table-layout:fixed" css スタイルをサポートします。あなたはそれを使いたいかもしれません。

IE9 での問題を回避するには、使用する必要があります

このスタイルの詳細については、 http://msdn.microsoft.com/en-us/library/ie/ms531161(v=vs.85).aspxを参照してください。

于 2012-09-22T12:45:48.010 に答える