我的java天地

          CSS 長英文字母自動換行

          自動換行問題,正常字符的換行是比較合理的,而連續的數字和英文字符常常將容器撐大,挺讓人頭疼,下面介紹的是CSS如何實現換行的方法


          對于div,p等塊級元素
          正常文字的換行(亞洲文字和非亞洲文字)元素擁有默認的white-space:normal,當定義的寬度之后自動換行
          html
          <div id="wrap">正常文字的換行(亞洲文字和非亞洲文字)元素擁有默認的white-space:normal,當定義</div>
          css
          #wrap{white-space:normal; width:200px; }

          1.(IE瀏覽器)連續的英文字符和阿拉伯數字,使用word-wrap : break-word ;或者word-break:break-all;實現強制斷行

          #wrap{word-break:break-all; width:200px;}
          或者
          #wrap{word-wrap:break-word; width:200px;}

          <div id="wrap">abcdefghijklmnabcdefghijklmnabcdefghijklmn111111111</div>

          效果:可以實現換行

          2.(Firefox瀏覽器)連續的英文字符和阿拉伯數字的斷行,Firefox的所有版本的沒有解決這個問題,我們只有讓超出邊界的字符隱藏或者,給容器添加滾動條


          #wrap{word-break:break-all; width:200px; overflow:auto;}

          <div id="wrap">abcdefghijklmnabcdefghijklmnabcdefghijklmn111111111</div>

          效果:容器正常,內容隱藏

          對于table

          1. (IE瀏覽器)使用 table-layout:fixed;強制table的寬度,多余內容隱藏

          <table style="table-layout:fixed" width="200">
          <tr>
          <td>abcdefghigklmnopqrstuvwxyz1234567890ssssssssssssss
          </td>
          </tr>
          </table>

          效果:隱藏多余內容

          2.(IE瀏覽器)使用 table-layout:fixed;強制table的寬度,內層td,th采用word-break : break-all;或者word-wrap : break-word ;換行

          <table width="200" style="table-layout:fixed;">
          <tr>
          <td width="25%" style="word-break : break-all; ">abcdefghigklmnopqrstuvwxyz 1234567890
          </td>
          <td style="word-wrap : break-word ;">abcdefghigklmnopqrstuvwxyz 1234567890
          </td>
          </tr>
          </table>

          效果:可以換行

          3. (IE瀏覽器)在td,th中嵌套div,p等采用上面提到的div,p的換行方法

          4.(Firefox瀏覽器)使用 table-layout:fixed;強制table的寬度,內層td,th采用word-break : break-all;或者word-wrap : break-word ;換行,使用overflow:hidden;隱藏超出內容,這里overflow:auto;無法起作用


          <table style="table-layout:fixed" width="200">
          <tr>
          <td width="25%" style="word-break : break-all; overflow:hidden; ">abcdefghigklmnopqrstuvwxyz1234567890</td>
          <td width="75%" style="word-wrap : break-word; overflow:hidden; ">abcdefghigklmnopqrstuvwxyz1234567890</td>
          </tr>
          </table>

          效果:隱藏多于內容

          5.(Firefox瀏覽器) 在td,th中嵌套div,p等采用上面提到的對付Firefox的方法
          運行代碼框
          最后,這種現象出現的幾率很小,但是不能排除網友的惡搞。

          下面是提到的例子的效果

          <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "<html xmlns="<head>
          <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
          <title>字符換行</title>
          <style type="text/css">
          table,td,th,div { border:1px green solid;}
          code { font-family:"Courier New", Courier, monospace;}
          </style>
          </head>
          <body>
          <h1><code>div</code></h1>
          <h1><code>All white-space:normal;</code></h1>
          <div style="white-space:normal; width:200px;">Wordwrap still occurs in a td element that has its WIDTH attribute set to a value smaller than the unwrapped content of the cell, even if the noWrap property is set to true. Therefore, the WIDTH attribute takes precedence over the noWrap property in this scenario</div>

          <h1><code>IE \ word-wrap : break-word ;</code></h1>
          <div style="word-wrap : break-word ; width:200px;">abcdefghijklmnabcdefghijklmnabcdefghijklmn111111111</div>
          <h1><code>IE \ word-break:break-all;</code></h1>
          <div style="word-break:break-all;width:200px;">abcdefghijklmnabcdefghijklmnabcdefghijklmn111111111</div>

          <h1><code>Firefox/ word-break:break-all; overflow:auto;</code></h1>
          <div style="word-break:break-all; width:200px; overflow:auto;">abcdefghijklmnabcdefghijklmnabcdefghijklmn111111111</div>
          <h1><code>table</code></h1>
          <h1><code>table-layout:fixed;</code></h1>
          <table style="table-layout:fixed" width="200">
          <tr>
          <td>abcdefghigklmnopqrstuvwxyz1234567890ssssssssssssss</td>
          </tr>
          </table>
          <h1><code>table-layout:fixed; word-break : break-all; word-wrap : break-word ;</code></h1>
          <table width="200" style="table-layout:fixed;">
          <tr>
          <td width="25%" style="word-break : break-all; ">abcdefghigklmnopqrstuvwxyz1234567890ssssssssssssss</td>
          <td style="word-wrap : break-word ;">abcdefghigklmnopqrstuvwxyz1234567890ssssssssssssss</td>
          </tr>
          </table>
          <h1><code>FF \ table-layout:fixed; overflow:hidden;</code></h1>
          <table style="table-layout:fixed" width="200">
          <tr>
          <td width="25%" style="word-break : break-all; overflow:hidden; ">abcdefghigklmnopqrstuvwxyz1234567890</td>
          <td width="75%" style="word-wrap : break-word; overflow:hidden; ">abcdefghigklmnopqrstuvwxyz1234567890</td>
          </tr>
          </table>
          </body>
          </html>

          posted on 2009-09-28 10:49 tobyxiong 閱讀(481) 評論(0)  編輯  收藏 所屬分類: show page

          <2009年9月>
          303112345
          6789101112
          13141516171819
          20212223242526
          27282930123
          45678910

          導航

          統計

          常用鏈接

          留言簿(3)

          隨筆分類(144)

          隨筆檔案(157)

          相冊

          最新隨筆

          搜索

          積分與排名

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 宁南县| 招远市| 成安县| 资中县| 甘孜县| 宜丰县| 长寿区| 临湘市| 清河县| 兴业县| 阿合奇县| 大渡口区| 固安县| 屯门区| 台北市| 锡林郭勒盟| 顺义区| 龙南县| 新宾| 怀仁县| 永和县| 清水河县| 静乐县| 二手房| 通化市| 务川| 卓尼县| 北京市| 邻水| 郁南县| 东源县| 章丘市| 寻乌县| 福贡县| 邹城市| 岑巩县| 循化| 荣昌县| 建昌县| 渝北区| 白山市|