網(wǎng)頁設(shè)計(jì)中的字間隔和字母間隔

  • 2018-10-09 14:30:10
  • 閱讀次數(shù):
  • 作者:盈嵐科技小編
  • 來源:http://51zuanshi.com.cn

前面已經(jīng)介紹了對(duì)齊,下面來看如何處理網(wǎng)頁設(shè)計(jì)中字間隔和字母間隔。同樣地,這些屬性存在一些不太直觀的問題。

字間隔

word-spacing屬性接受一個(gè)正長(zhǎng)度值或負(fù)長(zhǎng)度值。這個(gè)長(zhǎng)度會(huì)增加到字之間的標(biāo)準(zhǔn)間隔。實(shí)際上,word-spacing用于修改字間間隔。因此,默認(rèn)值normal與設(shè)置值為0是一樣的。

如果提供一個(gè)正長(zhǎng)度值,那么字之間的間隔就會(huì)增加。為word-spacing設(shè)置一個(gè)負(fù)值時(shí),會(huì)把字拉近:

p.spread {word-spacing: 0.5em;}

p.tight {word-spacing:-0.5em;}

P.base {word-spacing: normal;}

p.norm {word-spacing: 0;}

<p class="spread">The spaces between words in this paragraph will be increased by 0.5em.</p>

<p class="tight">The spaces between words in this paragraph will be decreased

by 0.5em.</p>

<p class="base">The spaces between words in this paragraph will be normal.</p>

<p class="norm">The spaces between words in this paragraph will be normal.</p>

處理這些設(shè)置后的效果如圖6-19所示。

圖6-19:改變字間間隔

到目前為止,我還沒有給出“字”的明確定義。用最簡(jiǎn)單的網(wǎng)頁設(shè)計(jì)術(shù)語來講,“字”可以是任何非空白符字符組成的串,并由某種空白符包圍。這個(gè)定義沒有實(shí)際語義,它只是假設(shè)一個(gè)文檔包含由一個(gè)或多個(gè)空白符包圍的字。支持CSS的用戶代理不一定能確定一個(gè)給定語言中哪些是合法的字,而哪些不是。盡管這個(gè)定義沒有多大價(jià)值,不過它意味著采用象形文字的語言或非羅馬書寫體往往無法指定字間隔。利用這個(gè)屬性,可能會(huì)創(chuàng)建很不可讀的文檔,圖6-20清楚地展示了這一點(diǎn)。所以,使用word-spacing時(shí)要當(dāng)心。

字母間隔

word-spacing遇到的許多問題也同樣出現(xiàn)在letter-spacing中。這二者之間唯一的真正區(qū)別是字母間隔修改的是字符或字母之間的間隔。

像word-spacing屬性一樣,letter-spacing屬性的可取值包括所有長(zhǎng)度。默認(rèn)關(guān)鍵字是normal (這與letter-spacing: 0相同)。輸入的長(zhǎng)度值會(huì)使字母間的間隔增加或減少指定的量。圖6-21所示為以下標(biāo)記的結(jié)果:

p {letter-spacing: 0;}/* identical to 'normal'*/

p.spacious {letter-spacing: 0.25em;}

p.tight {letter-spacing:-0.25em;}

<p>The letters in this paragraph are spaced as normal</p>

<p class="spacious">The letters in this paragraph are spread out a bit.</p>

<p class="tight">The letters in this paragraph are a bit smashed together.</p>

圖6-21:各種字母間隔

可以使用letter-spacing來突出強(qiáng)調(diào)效果,這個(gè)技術(shù)可謂歷史悠久。你可能會(huì)寫以下聲明,其效果如圖6-22所示:

strong {letter-spacing: 0.2em;}

<p>This paragraph contains <strong>strongly emphasized text</strong> that is spread out for extra emphasis.</p>

圖6-22:使用letter-spacing突出強(qiáng)調(diào)效果

間隔和對(duì)齊

word-spacing的值可能受text-align屬性值的影響。如果一個(gè)元素是兩端對(duì)齊的,字母和字之間的空間可能會(huì)調(diào)整,以便文本在整行中剛好放下。這可能又會(huì)改變網(wǎng)站建設(shè)人員用word-spacing聲明的字間隔。如果為letter-spacing指定一個(gè)長(zhǎng)度值,字符間隔則不會(huì)受text-align影響,但是如果letter-spacing的值是normal,字符間的間隔就可能改變,以便將文本兩端對(duì)齊。網(wǎng)頁設(shè)計(jì)師沒有指定應(yīng)當(dāng)如何計(jì)算間隔,所以用戶代理只是將其填滿。

一般地,一個(gè)元素的子元素會(huì)繼承該元素的計(jì)算值,無法為word-spacing或letter- spacing 定義一個(gè)可繼承的縮放因子來取代計(jì)算值(像line-height那樣)。因此,可能會(huì)遇到圖6-23所示的問題:

p {letter-spacing: 0.25em; font-size: 20px;}

small {font-size: 50%;}

<p>This spacious paragraph features <small>tiny text that is just as spacious</small>, even though the author probably wanted the spacing to be in proportion to the size of the text.</p>

圖6-23:繼承的字母間搞

如果字母間隔與文本大小成比例,得到字母間隔的唯一辦法就是顯式地設(shè)置,如下:

p {letter-spacing: 0.25em;}

small {font-size: 50%; letter-spacing: 0.25em;}

文本轉(zhuǎn)換

默認(rèn)值none對(duì)文本不做任何改動(dòng),將使用源文檔中原有的大小寫,頭名思義,uppercase 和 lowercase 將文本轉(zhuǎn)換為全大寫或全小寫字符。最后,capitalize只對(duì)每個(gè)單詞的首字母大寫。圖6-24以多種方式展示了這些設(shè)置:

h1{text-transform: capitalize;}

strong {text-transform:uppercase;}

p.cummings {text-transform:lowercase;}

p.raw{text-transform:none;}

<h1>The heading-one at the beginninG</h1>

<p>

By default, text is displayed in the capitalization it has in the source cocument,but <strong>it is possible to change this</strong>using the property 'text-transform'.

</p>

<p class="cummings">

For example,one create TEXT such as might have been Written by the late Poet e.e.cumming.

</p>

<p class="raw">

If you feel the need to explicitly Declare the transformation of text to be 'none',that can be done as well.

</p>

不同用戶代理可能會(huì)用不同的方法來確定單詞從哪里開始,相應(yīng)地確定哪些字母要大寫。例如,如圖6-24所示,h1元素中的文本“heading-one”網(wǎng)頁設(shè)計(jì)中可以用兩種方式顯示:"Heading-one"或“Heading-One”。CSS并沒有說哪一種是正確的,所以這兩種都是可以的。

你可能還注意到,圖6-24中h1元素的最后一個(gè)字母還是大寫。這沒有錯(cuò):在應(yīng)用text- transfom值capitalize時(shí),CSS只要求用戶代理確保每個(gè)單詞的首字母大寫,可以忽略單詞的余下部分。

作為一個(gè)屬性,text-transform看上去可能無關(guān)緊要,不過如果你突然決定將所有h1 元素都變成大寫,這個(gè)屬性就很有用。不必單獨(dú)地修改所有h1元素的內(nèi)容,只需使用text-transform為你完成這個(gè)修改:

h1 {text-transform: uppercase;}

<h1>This is an H1 element</h1>

使用text-transform有兩方面的好處,首先,只需寫一個(gè)簡(jiǎn)單的規(guī)則來完成這個(gè)修改,而無需修改h1元素本身。其次,如果你以后決定將所有大小寫再切換為原來的大小寫,可以更容易地完成修改,如圖6-25所示:

hi {text-transform: capitalize;}

<h1>This is an H1 element</h1>

當(dāng)前文章標(biāo)題:網(wǎng)頁設(shè)計(jì)中的字間隔和字母間隔

當(dāng)前URL:http://51zuanshi.com.cn/news/wzzz/word-Letters-spacing.html

上一篇:網(wǎng)頁設(shè)計(jì)中的垂直對(duì)齊

下一篇:網(wǎng)頁設(shè)計(jì)中的文本裝飾

網(wǎng)站建設(shè)、網(wǎng)絡(luò)營(yíng)銷咨詢專線:181-8386-5875(點(diǎn)擊可一鍵撥號(hào))