3

次のコードは、クロムで必要に応じて機能します。ただし、Firefox や IE ではできません。このコードにタグを追加する<!DOCTYPE html>と、クロムでも機能しなくなります。text-overflow非推奨か何かですか?すべてのブラウザおよび HTML5 と互換性を持たせるにはどうすればよいですか?

<head>

<style type='text/css'>
table {
    display: block;
    margin: 30px 0 auto 0;
    width: 100%;
    max-width: 1300px;
    text-align: left;
    white-space: nowrap;
    border-collapse: collapse;
    z-index: -1;
    table-layout:fixed;
}

td {
    overflow: hidden;
    white-space: nowrap;
    word-wrap:break-word;
    text-overflow:ellipsis;
    border: 1px solid black;
}
</style>
</head>
<body>
<table>
    <tr>
        <th style="width: 18%;">Col 1</th>
        <th style="width: 12%;">Col 2</th>
        <th style="width: 13%;">Col 3</th>
        <th style="width: 7%">Col 4</th>
        <th style="width: 7%">Col 5</th>
        <th style="width: 6%">Col 6</th>
        <th style="width: 5%">Col 7</th>
        <th style="width: 13%">Col 8</th>
        <th style="width: 16%">Col 9</th>
        <th style="width: 3%">Col 10</th>
    </tr>
    <tr>
        <td>Some</td>
        <td>Data</td>
        <td>Stuff</td>
        <td>foo</td>
        <td>bar</td>
        <td>etc</td>
        <td>whatever</td>
        <td>stuff</td>
        <td>Alotofdataikkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk</td>
        <td>Yes</td>
    </tr>
</table>

</body>

これが私が欲しいものです。ここに画像の説明を入力

4

3 に答える 3

1

text-overflow プロパティを誤用しました。

要素のテキストを折り返す場合は、ブラウザがテキスト コンテンツを折り返す方法を認識できるように、その要素の幅または最大幅を指定する必要があります。

[編集済み] これはコード例です:

<head>

<style type='text/css'>
table {
    display: block;
    margin: 30px 0 auto 0;
    /*width: 100%;*/
    max-width: 900px;
    text-align: left;
    white-space: nowrap;
    border-collapse: collapse;
    z-index: -1;
    table-layout:fixed;
}

td {
    overflow: hidden;
    white-space: nowrap;
    word-wrap:break-word;
    text-overflow: ellipsis;
    border: 1px solid black;
}

.col1 {
  width: 80px;
}
.col7 {
  max-width: 300px;
}
.col8 {
  max-width: 300px;
}
</style>
</head>
<body>
<table>
    <tr>
        <th class="col1">Col 1</th>
        <th class="col2">Col 2</th>
        <th class="col3">Col 3</th>
        <th class="col4">Col 4</th>
        <th class="col5">Col 5</th>
        <th class="col6">Col 6</th>
        <th class="col7">Col 7</th>
        <th class="col8">Col 8</th>
        <th class="col9">Col 9</th>
        <th class="col10">Col 10</th>
    </tr>
    <tr>
        <td class="col1">Some</td>
        <td class="col2">Data</td>
        <td class="col3">Stuff</td>
        <td class="col4">foo</td>
        <td class="col5">etc</td>
        <td class="col6">whatever</td>
        <td class="col7">stuff</td>
        <td class="col8">Alotofdataikkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk</td>
        <td class="col9">Yes</td>
        <td class="col10">bar</td>
    </tr>
    <tr>
        <td class="col1">Some</td>
        <td class="col2">Data</td>
        <td class="col3">Stuff</td>
        <td class="col4">foo</td>
        <td class="col5">etc</td>
        <td class="col6">whatever</td>
        <td class="col8">Alotofdataikkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk</td>
        <td class="col7">stuff</td>
        <td class="col9">Yes</td>
        <td class="col10">bar</td>
    </tr>
</table>

</body>

デモのスクリーンショットは次のとおりです。ここに画像の説明を入力

于 2013-05-14T07:44:08.907 に答える
0

text-overflow: ellipsisHTML5 で正常に動作します。私display: blockはいくつかの問題を作成していると思います。それを削除するか、交換してみてdisplay: table、機能するかどうかを確認してください。

于 2013-05-14T08:16:21.213 に答える