テーブルの私の列がid
,name
,description
およびphone
であるとします。 description
列は1〜255文字ですが、IDは最大3文字です。各列のサイズを同じにすることなく、流体幅テーブルで楕円を使用するにはどうすればよいですか?
各列のサイズが同じではなく、列のサイズを適切に設定したいと考えています。 description
列は、ウィンドウが全体の内容に収まるには小さすぎる場合に省略記号にオーバーフローするようにしたいと思います。
table-layout:fixed;
は、text-overflow: ellipsis;
を動作させる標準的な方法ですが、すべての列のサイズを同じサイズに変更します。私は固定するよりもむしろ幅を維持することを好むだろうauto
。
お手伝いできますか?ここで
は私jsFiddleです:http://jsfiddle.net/RQhkk/1/
ここで私が扱ってるかのスクリーンショットです:
Table 1
は、すべての列と同じサイズになりますどのように注意してください?それはひどい。
Table 2
はコンテンツに基づいて列のサイズを変更する方法に注意してください。それは良い。コンテンツが長すぎる場合を除いて:Table 3
。その後、それは適合しません。その場合、省略記号にあふれさせたいです。私は列の幅は、あなたが期待するものですを削除した場合
<div id="t1">
<table>
<thead>
<tr>
<th>id</th>
<th>name</th>
<th class="ellipsis">description</th>
<th>phone</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>alpha</td>
<td class="ellipsis">Lorem ipsum dolor sit amet, consectetur adipiscing elit.</td>
<td>555-555-5555</td>
</tr>
<tr>
<td>2</td>
<td>beta</td>
<td class="ellipsis">Sed et nulla neque.</td>
<td>555-555-5555</td>
</tr>
<tr>
<td>3</td>
<td>gamma</td>
<td class="ellipsis">Morbi imperdiet neque ut lorem rhoncus fermentum.</td>
<td>555-555-5555</td>
</tr>
</tbody>
</table>
</div>
<style>
#t1 table {
table-layout:fixed;
width:100%;
}
#t1 td {
white-space: nowrap;
}
#t1 td.ellipsis {
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
word-break: break-all;
word-wrap: break-word;
}
</style>
- コンテンツにサイズ設定:
そして、ここでは私のHTMLテーブルとCSSのコードです。残念ながら、固定レイアウトなしで省略記号を使用することはできません。どこが間違っていますか?
ニース!それは助けになる。しかし、他の小さな列は、必要以上に多くの空白を占めています。更新されたフィドルをチェックしてください:http://jsfiddle.net/RQhkk/3/通知表3は、省略記号クラスの最大幅を持つようになりました。しかし、他の列は必要以上に大きくなります。助言がありますか?私は、表2のように見える列を、必要に応じてelipsisで表示したいと思います。 – Ryan