網頁

2007年8月27日 星期一

連續英數字無法換行的問題

連續英數字無法換行且會把表格撐大,使得表格很看。
以下列出四個狀況,請在IE及Firefox中比較‧
寬度參考400px
1234
aaaaabbbbbcccccdddddeeeeefffffgggggaaaaabbbbbcccccdddddeeeeefffffggggg
aaaaabbbbbcccccdddddeeeeefffffggggg
aaaaabbbbbcccccdddddeeeeefffffggggg



1.將超出的部份隱藏,IE及Firefox適用。
2.Firefox將超出的部份隱藏,但IE7會換行。
3.超出的部份使用捲軸,但IE7高度有問題。
4.Firefox超出的部份使用捲軸,IE7會換行。

使用word-break:break-all;及word-wrap:break-word;都可將過長的英文斷行,但是遇到一般單字時,word-break:break-all;是依照畫面直接截斷,而word-wrap:break-word;則會依照空格來截斷,較能保持可讀性。
在表格的運用時,Table需設定成table-layout:fixed。

程式碼如下:
  1. <table style="width:400px; table-layout:fixed" border="1">
  2.  <tr>
  3.   <td>1</td><td>2</td><td>3</td><td>4</td>
  4.  </tr>
  5.  <tr>
  6.   <td style="width:25%; overflow:hidden; word-wrap:normal;">
  7.   aaaaabbbbbcccccdddddeeeeefffffggggg
  8.   </td>
  9.   <td style="width:25%; overflow:hidden; word-wrap:break-word;">
  10.   aaaaabbbbbcccccdddddeeeeefffffggggg
  11.   </td>
  12.   <td style="width:25%;">
  13.    <div style="overflow:auto; word-wrap:normal;">
  14.    aaaaabbbbbcccccdddddeeeeefffffggggg
  15.    </div>
  16.   </td>
  17.   <td style="width:25%;">
  18.    <div style="overflow:auto; word-wrap:break-word;">
  19.    aaaaabbbbbcccccdddddeeeeefffffggggg
  20.    </div>
  21.   </td>
  22.  </tr>
  23. </table>

沒有留言: