[精讚] [會員登入]
2924

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

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

此文完整連結 http://n.sfs.tw/10300

複製連結 [HTML] CSS中的折字換行或不換行(防止容器破壞)@新精讚
(文章歡迎轉載,務必尊重版權註明連結來源)
2019-05-06 12:52:41 最後編修
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

你可能感興趣的文章

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

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

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

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

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

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

讓radio box 或checkbox 好按 在行動裝置下,radio box及checkbox變得很難按得到

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

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

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

我有話要說


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

訪客留言

[無留言]

隨機好文

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

UTF-8的網頁但IE8一片空白 UTF8編碼的網頁在Firefox 正常顯示、但IE8 就是空白,IE8編碼設定是「自動偵測」可是自動偵測到的是 big5...

一個邏輯的錯誤刪了全部檔案的經驗 今天本來想做一件很簡單的事,但卻足足浪費我多一倍的時間,再加上刪掉我全部的檔案,原因只是因為我自己的邏輯錯誤。

海棉寶寶超泡杯演奏的sweet victory 章魚哥和海棉寶寶在超泡杯的演奏歌曲

「許功蓋」的字以及源由 有玩過電腦一段時間的人,都聽過這個人(有一天我才發現7年級的竟然都不認識這個"人")。 在古老的年代