天天看點

CSS網頁布局中div和table超出寬度自動換行

 自動換行問題,正常字元的換行是比較合理的,而連續的數字和英文字元常常将容器撐大,挺讓人頭疼,在52CSS.com中不乏這方面的文章,現在總結一下CSS如何實作換行的方法,隻要在CSS中定義了如下句子,可保網頁不會再被撐開了。

  對于div,p等塊級元素

  正常文字的換行( 亞洲文字和非亞洲文字)元素擁有預設的white-space:normal,當定義的寬度之後自動換行   

以下是代碼片段:

html  

  <div id="wrap">正常文字的換行(亞洲文字和非亞洲文字)元素擁有預設的white-space:normal,當定義</div> 

  css  

  #wrap{white-space:normal; width:200px; }

  IE浏覽器

  連續的英文字元和阿拉伯數字,使用word-wrap: break-word ;或者word-break:break-all;實作強制斷行   

以下是代碼片段:

html  

  <div id="wrap">52csscom52csscom52csscom52csscom52csscom52csscom</div> 

  css  

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

  或者 

    

以下是代碼片段:

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

  Firefox浏覽器

  連續的英文字元和阿拉伯數字的斷行,Firefox的所有版本的沒有解決這個問題,我們隻有讓超出邊界的字元隐藏或者,給容器添加滾動條   

以下是代碼片段:

html  

  <div id="wrap">52csscom52csscom52csscom52csscom52csscom52csscom</div> 

  css  

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

  對于table元素

  IE浏覽器

  一、使用 table-layout:fixed;強制table的寬度,多餘内容隐藏 

以下是代碼片段:

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

  二、使用 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; ">52csscom52csscom52csscom52csscom52csscom52csscom</td><td style="word-wrap : break-word ;">52csscom52csscom52csscom52csscom52csscom52csscom</td></tr></table> 

  三、在td,th中嵌套div,p等采用上面提到的div,p的換行方法

  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; ">52csscom52csscom52csscom52csscom52csscom52csscom</td>  

<td width="75%" style="word-wrap : break-word; overflow:hidden; ">52csscom52csscom52csscom52csscom52csscom52csscom</td>  

</tr></table> 

  二、在td,th中嵌套div,p等采用上面提到的對付Firefox的方法。

  最佳CSS定義換行代碼    

以下是代碼片段:

.wrap { table-layout:fixed; word-break: break-all; overflow:hidden; }