one more time one more chance. 一歩重頭學前端, css入門。white-space
text-overflow: ellipsis;
word-break, word-wrap
text-align: justify
text-decoration
text-transform
text-indent
letter-spacing
word-spacing
.truncate
這個簡單的 css語句,使用的比較多了吧,那麼請解釋下 white-space 和 text-overflow,我尼瑪,並不會是不是。
white-space用來設定內容中的空格的處理方式。
white-space:normal | pre | nowrap | pre-wrap | pre-line
white-space: nowrap
不換行,空格會被合併: 1. 第一行開始我寫了好多空格在實際效果中被合併成了乙個;2. 然後中間又鍵入了回車,但是前端並未換行; 3.
是可以使文字換行的;
white-space: pre
保留空格(包括鍵入的回車換行),單行文字過長時不會自動換行,
在任何情況下都是可以生效的。
see the pen
pre-wrap是pre 的公升級版,當單行文字過長,超過文字邊界
時自動換行。請自行演示**。pre-line作為自學內容。
用來定義當文字超出容器邊界時如何處理。
/*切斷 | 使用省略號 | 使用自定義的字串*/
text-overflow: clip|ellipsis|string;
看個極端點的例子: 給 div 寬度限定為 width:500px,然後 overflow: hidden 確定該 div 的 文字邊界,不能再多了,再然後 white-space: pre 保留空格,但是當文字超出邊界時不會自動換行,這樣每行文字就都超出了邊界,此時我們再嘗試使用 text-overflow 進行溢位限制。
see the pen
那麼現在就可以解釋單行文字溢位時加三個點顯示的**了:
white-space: nowrap; /*容器內的文字單行顯示*/
overflow: hidden; /*確定文字邊界,容器的邊界就是文字的界限不可以突出去*/
text-overflow: ellipsis; /*超出的部分使用3個點代替*/
不要忘記思考: 多行文字溢位,省略顯示如何實現。
推薦大家閱讀你真的了解word-wrap和word-break的區別嗎、
word-wrap 和 word-break 問答
斷字規則
每種語言都有各自的預設斷字規則
,在哪個位置可以插入break-points(斷點),當需要換行顯示時,會根據這些斷點來決定從文字的哪個位置開始換行。 比如漢字你好嗎
的斷點你·好·嗎
,中間的點表示斷點的位置; 比如英文hello world
的斷點hello·world
;
那麼,我們可能想要改變這些預設的斷點規則,word-break屬性就是做這個的,它會改變預設的斷點規則。當設定word-break: break-all;的時候,上面的漢字斷點規則並沒有改變,英文的斷點除了預設的空白符和符號斷點外,還會在任意兩個字母之間新增斷點,也就是說任意位置是可以斷開的,此時英文hello world
的斷點也就變為h·e·l·l·o·w·o·r·l·d
;
文字排版會按照斷字規則(瀏覽器規則或自定義規則)進行排版,如果乙個很長很長的單詞中間又是不可斷的時候word-wrap就可以上場了,word-wrap 是用來決定允不允許單詞內斷句的,如果不允許的話長單詞就會溢位。word-wrap: break-word它會首先嘗試將整個長單詞挪到下一行,看看下一行的寬度夠不夠,不夠的話還會進行單詞內的斷句。
word-break: normal|break-all|keep-all;
word-break的本質是更改斷點規則, normal 正常規則,break-all 到處都可以斷,keep-all只能在半形空格或連字元處換行(試試長中文的句子就明白了)。
see the pen
word-wrap: normal|break-word;
normal,只在允許的斷字點換行基於瀏覽器預設設定或者 word-break 的設定。break-word它會首先嘗試將整個長單詞挪到下一行,看看下一行的寬度夠不夠,不夠的話就進行單詞內的斷句。
綜上,我自己明白了,可能大家已經被我繞暈了。
white-space、word-wrap、word-break 是不太好理解。沒解釋明白的話,請跳轉連線看看大牛們的文章。
若設定了 white-space 後,word-wrap 和 word-break又如何表現呢? 請記住white-space 老大,word-break 老二,word-wrap 第三。如果設定了 white-space: nowrap,後兩者是不起作用的。
see the pen
是不是都用過 text-align: left | right;那麼 justify 是幹什麼的呢?下圖是個常見的需求文字兩端對齊。
筆者曾經使用
來打空格,真是 sb 啊,用這麼 low 的方法明顯反應出我既不會 text-align 也不會 white-space。
css的兩端對齊有個坑
,最後一行的文字不會兩端對齊,而是左對齊。
推薦大家看看大漠的解釋: 在其自然狀態下,"text-align:justify"就不能工作,除非內容足夠長並引起乙個換行符。否則,文字仍然左對齊。如果你想知道這是為什麼,這是因為在排版中這是理想的行為——乙個塊中的最後一行文字總是左對齊。也許這是乙個css規範設計,即使我們只有一行文字,這一行還是像最後一行一樣,讓文字左對齊?。
如何保證兩端對齊呢? 人為插入一行東西
,使得文字處於倒數第二行。
see the pen
文字裝飾text-decoration : none | underline | blink | overline | line-through
在修飾 a 標籤時用的較多用於去除下劃線。
a
text-transform 屬性控制文字的大小寫。學會了該屬性,我們再也不用使用 js 來切換大小寫了。
text-transform: none | capitalize | uppercase | lowercase
see the pen
控制首行縮排,有了它也不用了,簡單好用。
p
letter-spacing和word-spacing這兩個屬性都用來控制元素中的空白寬度的。letter-spacing新增字母之間的空白,而word-spacing新增每個單詞之間的空白。請大家注意,word-spacing對中文無效。
see the pen
你真的了解word-wrap和word-break的區別嗎、
word-wrap 和 word-break 問答
斷字規則
text-align:justify和rwd
text-align:justify兩端對齊有個坑
【開發環境推薦】
css 控制文字
css 文字屬性可定義文字的外觀。通過文字屬性,可以改變文字的顏色 字元間距,對齊文字,裝飾文字,對文字進行縮排,等等。l 基本屬性 屬性描述 示例color 設定文字顏色 color red background color 背景顏色 text align 對齊方式 text align cent...
css控制文字排版
b 一 如何設定文字字型 顏色 大小 使用font b font style設定斜體,比如font style italic font weight設定文字粗細,比如font weight bold font size設定文字大小,比如font size 12px 或者9pt,不同單位顯示問題參考c...
css控制文字換行
設定為break word時,文字中的長單詞或url可以換行 換行換行換行換行換行換行換行換行aaaaaaaaaaaaaaaa 新增換行後的效果 若css不設定word wrap,遇到長單詞時內容溢位,效果如圖所示 設定為break all時,文字遇到長單詞,會選擇在合適的位置截斷進行換行 換行換行...