[精讚] [會員登入]
9746

[HTML] CSS中的折字換行或不換行(防止容器破壞)

使用者留言時故意來用一串長長的且沒有任何空白的長字串,把你的容器破壞得很難看...

分享此文連結 //n.sfs.tw/10300

分享連結 [HTML] CSS中的折字換行或不換行(防止容器破壞)@新精讚
(文章歡迎轉載,務必尊重版權註明連結來源)
2021-01-14 15:44:32 最後編修
2016-11-26 11:41:22 By 張○○
 

自動目錄

在html最怕使用者留言時故意來搗蛋,用一串長長的字中間沒有任何空白的長字串,例如:

thisisatestbookthatisachart-------likethisshkhjkaruewknczxvjkruqtjnvzxcj

這種長長的字串往往會造成容器的破壞。因此對付這種沒有空白鍵的字串,就要強制換行,可以用word-wrap 和 overflow這兩個屬性

word-wrap: break-word; overflow:hidden;

word-wrap 屬性說明

  • break-word:可以任意斷字,不依循音節規則。
  • normal:長字會維持原狀,超出邊界,此為預設值。
  • inherit:繼承父元素特徵。
  • break-all: 可以任意斷字,不依循音節規則。
  • anywhere: 等同 break-all 
  • keep-all: 不可斷字

overflow 屬性說明

  • overflow: auto; /*預設使用捲軸 ie下,長串會自動折行。ff下,長串會被遮蓋 */
  • overflow: hidden; /*隱藏溢出範圍的內容*/
  • overflow: scroll; /*使標籤元素產生捲軸*/
  • overflow: visible; /*顯示全部忽略區塊大小*/
  • overflow: inherit; /*繼承父元素的可見性*/

另一種情況就是內容只要一行,不要自動換行,省去切字的麻煩。

white-space: nowrap;

再來可以使用white-space來對空白字元的行為作規範:

white-space 屬性說明

  • normal:連續的空白字都縮減為一個空白,長行遇到右邊界會跳行分為兩行,此為預設值。
  • pre:不縮減空白字,維持原狀。
  • pre-line:Firefox, Safari, Chrome 的定義是,連續的空白字會縮減為一個空白;跳行字(newline)保留,會跳行;長行也會跳行。IE 的定義是,連續的跳行會保留。
  • pre-wrap:Firefox, Safari, Chrome 的定義是,不縮減空白字;跳行字會跳行;長行也會跳行。IE 的定義是,連續的跳行字會縮減為一個跳行。
  • nowrap:連續的空白字會縮減為一個空白,不跳行。
  • inherit:繼承父元素的特徵值。

我可以解釋~~

補充說明

1. 使用特別的tag <wbr> 來處理長文字斷行的問題

2. 對中文(CJK)字來說,word-wrap 無論怎麼設置,都是會斷字,因為中文每個字都是獨立的,所以無論設定成 break-all或keep-all,都沒什麼差別。

3. overflow-wrapword-wrap是相同的。

參考資料

[1] OECSPACE http://www.hsiu28.net/style/style_11.php

[2] 螞蟻的css http://ant4css.blogspot.com/2009/01/whitespace.html

[3] https://developer.mozilla.org/ja/docs/Web/CSS/word-break


原文 2011-10-23 10:59:40

END

你可能感興趣的文章

[CSS] 改變文字選擇的顏色(反選的顏色) 我們會用滑鼠選取一小段文字,可能是為了複製或是為了看他清楚點,這篇來改變他選擇時的背影色。

[HTLM5] 表單時間日期date/time輸入類型 介紹HTML5和時間有關的輸入類型date/datetime/datetime-local/month/time/week

網頁自動轉址的四種方法 設定網頁自動轉址的四種方法,三種html,一種php

網頁的標頭(head)搜尋引擎和FB最佳化 網頁的標頭(head)搜尋引擎和facebook最佳化

[HTLM5] html元件上的 data-* 屬性 html5 中元件中多了一個 data-*的屬性,這個屬性超級好用

產生模糊的文字 有時我們需要產生模糊的文字,類似毛玻璃看到的效果。

我有話要說

>>

限制:留言最高字數1000字。 限制:未登入訪客,每則留言間隔需超過10分鐘,每日最多5則留言。

訪客留言

[無留言]

隨機好文

使用Google尋找你的手機 這近發現google竟然可以用來找android的手機,而且不需要經過什麼設定或安裝軟體。

[Freebsd] 使用 ADSL 撥接上網 Freebsd上要使用 ADSL 撥接上網,該如何設定?

TFTP Server 安裝及使用 讓設備的網路設定檔或是韌體經由TFTP拷備出來,操作的方法

維修冰箱 維修冰箱

[AS3] 我做的唯一一個Flash As3遊戲UFO INVADSION [AS3] 我做的唯一一個Flash As3遊戲,是第一個也是最後一個,後來就沒再寫as3,不過as3還滿好玩的。