posts - 89, comments - 241, trackbacks - 0, articles - 1
             :: 首頁 ::  :: 聯系 :: 聚合  :: 管理

          如何固定表格寬度

          Posted on 2010-07-06 22:43 saobaolu 閱讀(1060) 評論(0)  編輯  收藏 所屬分類: 前端

          <TABLE style="table-layout: auto | fixed">
          auto: 默認值
          fixed: 寬度固定,截斷超出的內容

          <TABLE style="word-break: normal | break-all | keep-all">
          normal: 默認值,按字詞截斷換行
          break-all: 強行截斷并換行
          keep-all: 不截斷不換行

          使用:style="table-layout:fixed;"
          表示輸出停止,停留在設定的長度內.

          使用:style="word-break : break-all;"
          表示對超長部分,換行再繼續顯示.

          對于在英文中使用,請使用style="table-layout:fixed; word-wrap:break-word"
          推薦使用word-wrap:break-word;word-break:break-all;table-layout:fixed;

          ==============================================================================

          word-wrap同word-break的區別

          word-wrap:
          normal      Default. Content exceeds the boundaries of its container. 
          break-word Content wraps to next line, and a word-break occurs when necessary. 必要時會觸發word-break。

          word-break:
          normal      Default. Allows line breaking within words. 好像是只對Asian text起作用。
          break-all Behaves the same as normal for Asian text, yet allows the line to break arbitrarily for non-Asian text. This value is suited to Asian text that contains some excerpts of non-Asian text. 
          keep-all Does not allow word breaking for Chinese, Japanese, and Korean. Functions the same way as normal for all non-Asian languages. This value is optimized for text that includes small amounts of Chinese, Japanese, or Korean.

          總結如下:
          word-wrap是控制換行的。
          使用break-word時,是將強制換行。中文沒有任何問題,英文語句也沒問題。但是對于長串的英文,就不起作用。

          break-word是控制是否斷詞的。
          normal是默認情況,英文單詞不被拆開。
          break-all,是斷開單詞。在單詞到邊界時,下個字母自動到下一行。主要解決了長串英文的問題。
          keep-all,是指Chinese, Japanese, and Korean不斷詞。即只用此時,不用word-wrap,中文就不會換行了。(英文語句正常。)


          ie下:
          使用word-wrap:break-word;所有的都正常。

          ff下:
          如這2個都不用的話,中文不會出任何問題。英文語句也不會出問題。但是,長串英文會出問題。
          為了解決長串英文,一般用word-wrap:break-word;word-break:break-all;。但是,此方式會導致,普通的英文語句中的單詞會被斷開(ie下也是)。

          目前主要的問題存在于 長串英文 和 英文單詞被斷開。其實長串英文就是一個比較長的單詞而已。
          即英文單詞應不應該被斷開那?那問題很明顯了,顯然不應該被斷開了。
          對于長串英文,就是惡意的東西,自然不用去管了。但是,也要想些辦法,不讓它把容器撐大。
          用:overflow:auto; ie下,長串會自動折行。ff下,長串會被遮蓋。


          所以,綜上,最好的方式是word-wrap:break-word;overflow:hidden;而不是word-wrap:break-word;word-break:break-all;。
          word-wrap:break-word;overflow:auto;在ie下沒有任何問題。在ff下,長串會被遮住部分內容。

          另,測試代碼如下:

          1.htm===================================================================

          <style>
          .c1{ width:300px;      border:1px solid red}
          .c2{ width:300px;word-wrap:break-word;      border:1px solid yellow}
          .c3{ width:300px;word-wrap:break-word;word-break:break-all;      border:1px solid green}
          .c4{ width:300px;word-wrap:break-word;word-break:keep-all; border:1px solid blue}
          .c5{ width:300px;word-break:break-all;      border:1px solid black}
          .c6{ width:300px;word-break:keep-all;      border:1px solid red}
          .c7{ width:300px;word-wrap:break-word;overflow:auto;      border:1px solid yellow}
          </style>

          .c1{ width:300px;      border:1px solid red}
          <div class="c1">
          safjaskflasjfklsajfklasjflksajflksjflkasjfksafj
          </div>
          <div class=c1>
          This is all English. This is all English. This is all English.
          </div>
          <div class=c1>
          全是中文的情況。全是中文的情況。全是中文的情況。
          </div>
          <div class=c1>
          中英文混排的情況。Chinese and English. 中英文混排的情況。Chinese and English. 
          </div>

          <br>
          .c2{ width:300px;word-wrap:break-word; border:1px solid yellow}
          <div class="c2">
          safjaskflasjfklsajfklasjflksajflksjflkasjfksafj
          </div>
          <div class=c2>
          This is all English. This is all English. This is all English.
          </div>
          <div class=c2>
          全是中文的情況。全是中文的情況。全是中文的情況。
          </div>
          <div class=c2>
          中英文混排的情況。Chinese and English. 中英文混排的情況。Chinese and English. 
          </div>

          <br>
          .c3{ width:300px;word-wrap:break-word;word-break:break-all;      border:1px solid green}
          <div class="c3">
          safjaskflasjfklsajfklasjflksajflksjflkasjfksafj
          </div>
          <div class=c3>
          This is all English. This is all English. This is all English.
          </div>
          <div class=c3>
          全是中文的情況。全是中文的情況。全是中文的情況。
          </div>
          <div class=c3>
          中英文混排的情況。Chinese and English. 中英文混排的情況。Chinese and English. 
          </div>

          <br>
          .c4{ width:300px;word-wrap:break-word;word-break:keep-all; border:1px solid blue}
          <div class="c4">
          safjaskflasjfklsajfklasjflksajflksjflkasjfksafj
          </div>
          <div class=c4>
          This is all English. This is all English. This is all English.
          </div>
          <div class=c4>
          全是中文的情況。全是中文的情況。全是中文的情況。
          </div>
          <div class=c4>
          中英文混排的情況。Chinese and English. 中英文混排的情況。Chinese and English. 
          </div>

          <br>
          .c5{ width:300px;word-break:break-all;      border:1px solid black}
          <div class="c5">
          safjaskflasjfklsajfklasjflksajflksjflkasjfksafj
          </div>
          <div class=c5>
          This is all English. This is all English. This is all English.
          </div>
          <div class=c5>
          全是中文的情況。全是中文的情況。全是中文的情況。
          </div>
          <div class=c5>
          中英文混排的情況。Chinese and English. 中英文混排的情況。Chinese and English. 
          </div>

          <br>
          .c6{ width:300px;word-break:keep-all;      border:1px solid red}
          <div class="c6">
          safjaskflasjfklsajfklasjflksajflksjflkasjfksafj
          </div>
          <div class=c6>
          This is all English. This is all English. This is all English.
          </div>
          <div class=c6>
          全是中文的情況。全是中文的情況。全是中文的情況。
          </div>
          <div class=c6>
          中英文混排的情況。Chinese and English. 中英文混排的情況。Chinese and English. 
          </div>

          <br>
          .c7{ width:300px;word-wrap:break-word;overflow:auto;      border:1px solid yellow}
          <div class="c7">
          safjaskflasjfklsajfklasjflksajflksjflkasjfksafj
          </div>
          <div class=c7>
          This is all English. This is all English. This is all English.
          </div>
          <div class=c7>
          全是中文的情況。全是中文的情況。全是中文的情況。
          </div>
          <div class=c7>
          中英文混排的情況。Chinese and English. 中英文混排的情況。Chinese and English. 
          </div>



          沒有所謂的命運,只有不同的選擇!
          主站蜘蛛池模板: 河西区| 玛沁县| 南涧| 大余县| 安庆市| 封开县| 朝阳区| 宁强县| 襄垣县| 玛多县| 五大连池市| 海门市| 紫金县| 望都县| 旌德县| 惠东县| 红安县| 金沙县| 紫金县| 昆明市| 革吉县| 宜兰县| 九龙县| 犍为县| 清丰县| 东辽县| 西宁市| 得荣县| 开封县| 陈巴尔虎旗| 东乡县| 安新县| 宜城市| 盘锦市| 栾川县| 紫阳县| 土默特左旗| 秦安县| 合肥市| 子长县| 井陉县|