我的java天地

          CSS 長英文字母自動換行

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


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

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

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

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

          效果:可以實現(xiàn)換行

          2.(Firefox瀏覽器)連續(xù)的英文字符和阿拉伯數(shù)字的斷行,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的方法
          運行代碼框
          最后,這種現(xiàn)象出現(xiàn)的幾率很小,但是不能排除網友的惡搞。

          下面是提到的例子的效果

          <!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 閱讀(475) 評論(0)  編輯  收藏 所屬分類: show page

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

          導航

          統(tǒng)計

          常用鏈接

          留言簿(3)

          隨筆分類(144)

          隨筆檔案(157)

          相冊

          最新隨筆

          搜索

          積分與排名

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 鄂托克前旗| 卢湾区| 左权县| 抚顺市| 桃园县| 吉安市| 得荣县| 酒泉市| 山阳县| 诏安县| 谷城县| 察哈| 垫江县| 祁门县| 志丹县| 昌乐县| 汉寿县| 临潭县| 万盛区| 法库县| 焦作市| 乌兰县| 沧州市| 汉源县| 香港| 炉霍县| 固阳县| 遂平县| 南川市| 普安县| 库车县| 定西市| 墨脱县| 双柏县| 江源县| 东城区| 宝兴县| 葫芦岛市| 抚顺县| 安龙县| 兴国县|