[精讚] [會員登入]
6296

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

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

此文完整連結 http://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

你可能感興趣的文章

CSS 垂直中文字 要把文字垂直顯示的處理中文字正轉或逆轉90度的css設定

[CSS] 多個 class 的表示法和寫法 網頁設計中常會用到CSS,他的一般格式是這樣的:

[HTML] 影像地圖 使用HTML的MAP標籤製作影像地圖

表格如何選取一欄(選取一直行) 表格中要指選擇一列很容易,直接叫用的標籤即可,但是要選取一欄呢?

[HTML] 讓表格整欄上色的方法 過去我們要讓表格整欄上色,都得用很不方便的方法:該儲存格設定一個類別,指定他的樣式,現在有更好的方法

textarea計算字數和行數 textarea可以大量的放入文字,但要如何計算字數和行數呢?

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

[HTLM5] 表單color、email、url、search、tel輸入類型 介紹HTML5好用的輸入類型:color、email、url,以及兩個形同雞肋的類型search、tel..

如何讓瀏覽器每次都重新載入css、js、圖檔 不管怎麼刷新網頁,他總是跑出來舊的內容,這對開發的人來說很困擾...

關閉瀏覽器表單的自動完成autocomplete 什麼是自動完成?就是當我們在網頁的輸入文字欄位中打入文字時,瀏覽器會把曾輸入過歷史記錄中找出來讓我們選擇。

我有話要說


限制:留言最高字數1000字,超過部分會被截掉。請注意:留言不可帶有網址,會被濾掉。 限制:未登入訪客,每則留言間隔需超過10分鐘,每日最多5則留言。

訪客留言

[無留言]

隨機好文

SELinux 常用指令和檔案 在Redhat系列中,Centos5以後加入了selinux,他並沒有這麼可怕,不必每次看到Selinux ,就想把他

[Windows7] 移除IE10及移除IE11 Windows7 不得已的情況要移除IE11或IE10怎麼做?

為什麼要重造輪子? 什麼輪子?造什麼輪子?我為什麼要重造輪子?

[Win7] 燒錄 iso 檔 在Windows7 中內建燒錄程式,可以直接把檔案拉到光碟機裡,再執行燒錄。

世紀帝國征服者新版本--被遺忘的帝國 世紀帝國征服者新版本--被遺忘的帝國 世紀二代的征服者是精典遊戲中的精典,aofe更好玩...