CSS文本
上面表格中的屬性我們不會一一講述,只講述一些常用的屬性,主要是讓大家邊學邊練。其他內容大家可以自己測試,w3c 上面也可以查看每個屬性的具體內容。
例子 1 顏色 color
index.html
<!doctype html> <html> <head> <meta charset="UTF-8"> <title></title> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body> <p>查看顏色</p> <h1>標題查看顏色</h1> </body> </html>
style.css
body{ color: aqua; }
運行結果:
大家可以看到我們是給 body 設置的顏色,但是 p 標簽和 h1 的標簽也顯示了 body 設置的字體顏色,說明了兩個標簽繼承了 body 的字體顏色。
例子 2 text-align
text-align是一個基本的屬性,它會影響一個元素中的文本行互相之間的對齊方式。它的前 3 個值相當直接,不過第 4 個和第 5 個則略有些復雜。
值 left、right 和 center 會導致元素中的文本分別左對齊、右對齊和居中。
西方語言都是從左向右讀,所有text-align的默認值是 left。文本在左邊界對齊,右邊界呈鋸齒狀(稱為“從左到右”文本)。 index.html
<!doctype html> <html> <head> <meta charset="UTF-8"> <title></title> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body> <p>php中文網(wǎng)</p> </body> </html>
style.css
body{ color: red; text-align: center; }
運行結果:?
例子 3 text-indent
縮進文本 把 Web 頁面上的段落的第一行縮進,這是一種最常用的文本格式化效果。 CSS 提供了text-indent屬性,該屬性可以方便地實現(xiàn)文本縮進。 通過使用text-indent屬性,所有元素的第一行都可以縮進一個給定的長度,甚至該長度可以是負值。 這個屬性最常見的用途是將段落的首行縮進,下面的規(guī)則會使所有段落的首行縮進 5 em:
p {text-indent: 5em;}
下面的 index.html 中代碼為:
<!doctype html> <html> <head> <meta charset="UTF-8"> <title></title> <link rel="stylesheet" href="style.css" type="text/css"> </head> <body> <div> <h3>PHP中文網(wǎng)</h3> <p>最好的自學網(wǎng)站</p> <p>最好的自學網(wǎng)站</p> <p>最好的自學網(wǎng)站</p> <p>最好的自學網(wǎng)站</p> </div> </body> </html>
這時如果不加任何的 css 修飾。顯示的效果為:?
我們的 style.css 代碼中加入以下內容縮進讓實驗樓三個字縮進 2 個字節(jié)。
h3{ text-indent: 5em; }
運行結果:
?
字間隔
word-spacing 屬性可以改變字(單詞)之間的標準間隔。其默認值 normal 與設置值為 0 是一樣的。
word-spacing 屬性接受一個正長度值或負長度值。如果提供一個正長度值,那么字之間的間隔就會增加。為 word-spacing 設置一個負值,會把它拉近:
<html> <body> <h1 style="word-spacing:15px;">設置中文字符間距</h1> <h1 style="word-spacing:15px;">this is a test</h1> </body> </html>
字母間隔
letter-spacing 屬性與 word-spacing 的區(qū)別在于,字母間隔修改的是字符或字母之間的間隔。
與 word-spacing 屬性一樣,letter-spacing 屬性的可取值包括所有長度。默認關鍵字是 normal(這與 letter-spacing:0 相同)。輸入的長度值會使字母之間的間隔增加或減少指定的量:
<html> <head> <style type="text/css"> h1 {letter-spacing: -0.5em} h4 {letter-spacing: 20px} </style> </head> <body> <h1>php中文網(wǎng)</h1> <h4>php中文網(wǎng)</h4> </body> </html>
?字符轉換
text-transform 屬性處理文本的大小寫。這個屬性有 4 個值:
? ? none
? ? uppercase
? ? lowercase
? ? capitalize
默認值 none 對文本不做任何改動,將使用源文檔中的原有大小寫。顧名思義,uppercase 和 lowercase 將文本轉換為全大寫和全小寫字符。最后,capitalize 只對每個單詞的首字母大寫。
作為一個屬性,text-transform 可能無關緊要,不過如果您突然決定把所有 h1 元素變?yōu)榇髮?,這個屬性就很有用。不必單獨地修改所有 h1 元素的內容,只需使用 text-transform 為你完成這個修改:
h1 {text-transform: uppercase}
使用 text-transform 有兩方面的好處。首先,只需寫一個簡單的規(guī)則來完成這個修改,而無需修改 h1 元素本身。其次,如果您以后決定將所有大小寫再切換為原來的大小寫,可以更容易地完成修改。
文本裝飾
接下來,我們討論?text-decoration 屬性,這是一個很有意思的屬性,它提供了很多非常有趣的行為。
text-decoration 有 5 個值:
? ? ? ? none
? ? ? underline
? ? ? ?overline
? ? ? ? line-through
? ? ? ? blink
不出所料,underline 會對元素加下劃線,就像 HTML 中的 U 元素一樣。overline 的作用恰好相反,會在文本的頂端畫一個上劃線。值 line-through 則在文本中間畫一個貫穿線,等價于 HTML 中的 S 和 strike 元素。blink 會讓文本閃爍,類似于 Netscape 支持的頗招非議的 blink 標記。
none 值會關閉原本應用到一個元素上的所有裝飾。通常,無裝飾的文本是默認外觀,但也不總是這樣。例如,鏈接默認地會有下劃線。如果您希望去掉超鏈接的下劃線,可以使用以下 CSS 來做到這一點:
a {text-decoration: none;}
注意:如果顯式地用這樣一個規(guī)則去掉鏈接的下劃線,那么錨與正常文本之間在視覺上的唯一差別就是顏色(至少默認是這樣的,不過也不能完全保證其顏色肯定有區(qū)別)。
還可以在一個規(guī)則中結合多種裝飾。如果希望所有超鏈接既有下劃線,又有上劃線,則規(guī)則如下:
a:link a:visited {text-decoration: underline overline;}
不過要注意的是,如果兩個不同的裝飾都與同一元素匹配,勝出規(guī)則的值會完全取代另一個值。請考慮以下的規(guī)則:
h2.stricken {text-decoration: line-through;} h2 {text-decoration: underline overline;}
對于給定的規(guī)則,所有 class 為 stricken 的 h2 元素都只有一個貫穿線裝飾,而沒有下劃線和上劃線,因為?text-decoration 值會替換而不是累積起來。
處理空白符
white-space 屬性會影響到用戶代理對源文檔中的空格、換行和 tab 字符的處理。
通過使用該屬性,可以影響瀏覽器處理字之間和文本行之間的空白符的方式。從某種程度上講,默認的 XHTML 處理已經(jīng)完成了空白符處理:它會把所有空白符合并為一個空格。所以給定以下標記,它在 Web 瀏覽器中顯示時,各個字之間只會顯示一個空格,同時忽略元素中的換行:
<p>This paragraph has many spaces in it.</p>
可以用以下聲明顯式地設置這種默認行為:
p {white-space: normal;}
上面的規(guī)則告訴瀏覽器按照平常的做法去處理:丟掉多余的空白符。如果給定這個值,換行字符(回車)會轉換為空格,一行中多個空格的序列也會轉換為一個空格。
文本方向
如果您閱讀的是英文書籍,就會從左到右、從上到下地閱讀,這就是英文的流方向。不過,并不是所有語言都如此。我們知道古漢語就是從右到左來閱讀的,當然還包括希伯來語和阿拉伯語等等。CSS2 引入了一個屬性來描述其方向性。
direction 屬性影響塊級元素中文本的書寫方向、表中列布局的方向、內容水平填充其元素框的方向、以及兩端對齊元素中最后一行的位置。
注釋:對于行內元素,只有當?unicode-bidi 屬性設置為 embed 或 bidi-override 時才會應用 direction 屬性。
direction 屬性有兩個值:ltr 和 rtl。大多數(shù)情況下,默認值是 ltr,顯示從左到右的文本。如果顯示從右到左的文本,應使用值 rtl。