[精讚] [會員登入]
6515

[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] 將多張圖片合併,製作css spirte 網站中有很多的小圖,如果能把他們合併後再用CSS取用,就能大幅的提升網路效能。

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

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

[CSS] 背景 background css 中最常用的特性(property)之一就是 background ,這個有什麼好難的?事實上 backgroun

[HTML5] script 的新增屬性 defer, async script 的新增屬性 defer, async

[HTLM5] 表單number和range輸入類型 介紹HTML5和數字有關的輸入類型number/range 等類型

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

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

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

UTF-8 BOM (Byte Order Mark) 的問題 在 Michael Kaplan 那看到 Every character has a story #4: U+feff

我有話要說


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

訪客留言

[無留言]

隨機好文

[HP DL380G7] 生效啟動第3,4片網卡/開啟或關閉內建的網卡 HP DL380G7 預設第3,4片網卡裝完系統後找不到,難道是壞了?要怎麼辦?

PHP for sphinx 函式庫安裝 PECL/sphinx PHP>= 5.2.2 已經能原生支援 sphinx,可是預設的沒有裝,我們得自己裝才能用

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

看懂DSUB DVI HDMI USB等各式影音接頭 看懂DSUB DVI HDMI等各式影音接頭

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