さまざまな長さのテキストを含むセルを含むテーブルがあります。すべてのテーブルセルが同じ幅であることが重要です。これが長い単語の切り捨てや長い単語の区切りの強制を意味する場合、それは問題ありません。
これを機能させる方法はわかりません。
これは内部クライアントアプリケーション用であるため、IE6およびIE7でのみ動作する必要があります。
サンプルページは次のとおりです。 onereallylongword
を含むセルが問題のセルです。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<style type="text/css">
td { width: 30px; }
</style>
</head>
<body>
<table border="2">
<tr>
<td>Word</td>
<td>two words</td>
<td>onereallylongword</td>
</tr>
</table>
</body>
</html>
スタックオーバーフローは、DIVを使用し、overflow-x:auto
。 CSSは言葉を分解することはできません。
テーブル自体の幅を修正し、table-layoutプロパティを設定する限り、これは非常に簡単です:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<style type="text/css">
td { width: 30px; overflow: hidden; }
table { width : 90px; table-layout: fixed; }
</style>
</head>
<body>
<table border="2">
<tr>
<td>Word</td>
<td>two words</td>
<td>onereallylongword</td>
</tr>
</table>
</body>
</html>
IE6と7でこれをテストしましたが、うまくいくようです。
長いテキストを新しい行で適切にラップする場合は、テーブルID呼び出しでcssプロパティtable-layout:fixed;
それ以外の場合、単にcssは新しい行の長いテキストを分割できません。
これを試して:
text-overflow: Ellipsis;
overflow: hidden;
white-space:nowrap;
IE6/7のソリューションが必要であることがわかりましたが、私はこれを他の誰かに捨てているだけです。
table-layout: fixed
を使用できず、IE <9を気にしない場合、これはすべてのブラウザで機能します。
td {
overflow-x: hidden;
overflow-y: hidden;
white-space: nowrap;
max-width: 30px;
}
<style type="text/css">
td { Word-wrap: break-Word;max-width:50px; }
</style>