網(wǎng)頁(yè)設(shè)計(jì)中的文本裝飾

  • 2018-10-10 11:39:49
  • 閱讀次數(shù):
  • 作者:盈嵐科技小編
  • 來(lái)源:http://americanwasteexpansions.com

接下來(lái)我們討論text-decoration,這是一個(gè)很有意思的屬性,它在網(wǎng)頁(yè)設(shè)計(jì)中提供了很多非常有趣的行為。

不出所料,underline會(huì)對(duì)元素加下劃線,就像HTML中的U元素一樣。overline的作用恰好相反,會(huì)在文本的頂端畫(huà)一個(gè)上劃線。值line-through則在文本中間畫(huà)一個(gè)貫穿線,這也稱為貫穿文本,等價(jià)于HTML中的S和strike元素。blink會(huì)讓文本閃爍,類似于Netscape支持的頗招非議的blink標(biāo)記。圖6-26顯示了這些值的一些例子:

p.enph {text-decoration: underline;}

p.topper {text-decorat ion: overline;}

p.old {cext-ciecoration: line-through;}

p.annoy {text-decorat ion: blink;}

p.plain {text-decoration: none;}

注意:當(dāng)然,無(wú)法在本書(shū)中顯示閃爍的效果,不過(guò)很容易想象(也許實(shí)在太容易了)。有時(shí),用戶代理不要求支持blink,在寫作本書(shū)時(shí),Internet Explorer就不支持blink。

none值會(huì)關(guān)閉原本應(yīng)用到一個(gè)元素上的所有裝飾。通常,無(wú)裝飾的文本是默認(rèn)外觀,伹也不總是這樣,例如,鏈接默認(rèn)地會(huì)有下劃線。如果你想去掉超鏈接的下劃線,可以使用以下網(wǎng)站建設(shè)CSS規(guī)則來(lái)做到這一點(diǎn):

a {text-decoration: none;}

如果顯式地用這樣一個(gè)規(guī)則去掉鏈接的下劃線,那么錨與正常文本之間在視覺(jué)上的唯一差別就是顏色(至少默認(rèn)是這樣,不過(guò)也不能完全保證其顏色肯定有區(qū)別)。

注意:盡管我個(gè)人對(duì)此沒(méi)有什么意見(jiàn),不過(guò)許多用戶如果發(fā)現(xiàn)你去掉了鏈接的下劃線會(huì)很不高興。這取決于個(gè)人觀點(diǎn),所以你自己看著辦。不過(guò)要記住:如果鏈接的顏色與正常文本的差別不夠明顯,用戶將很難在文檔中找到超鏈接。

還可以在一個(gè)規(guī)則中結(jié)合多種裝飾。如果希望所有超鏈接既有下劃線又有上劃線,則規(guī)則如下

a:link, a:visited {text-decoration: underline overline;}

不過(guò)要當(dāng)心:如果兩個(gè)不同的裝飾都與同一個(gè)元素匹配,勝出規(guī)則的值會(huì)完全取代另一個(gè)值??紤]以下規(guī)則:

h2.stricken {text-decoration: line-through;}

h2 (text-decoration: underline overline;}

給定這些規(guī)則,所有class為stricken的h2元素都只有一個(gè)貫穿線裝飾,而沒(méi)有下劃線和上劃線裝飾,因?yàn)閠ext-decoration值會(huì)替換而不是累積起來(lái)。

怪異的裝飾

下面來(lái)看text-decoration不尋常的一面。第一個(gè)奇怪的地方是text-decoration不能繼承。沒(méi)有繼承性意味著文本上畫(huà)的任何裝飾線(上劃線或貫穿線)與父元素的顏色相同。即使后代元素本身有其他顏色也是如此,如圖6-27所示:

p {text-decoration: underline; color: black;}

strong {color: gray;}

<p>This paragraph, which is black and has a black underline, also contains <strong>strongly emphasized text</strong> which has the black underline beneath it as well.</p>

圖6-27:下劃線的顏色一致

為什么會(huì)這樣?因?yàn)閠ext-decoration的值不能繼承,strong元素認(rèn)為text-decoration默認(rèn)值為none。因此,strong元素沒(méi)有下劃線。現(xiàn)在,在strong元素下面很顯然有一條線,所以說(shuō)它無(wú)下劃線看上去很傻。但這并不傻。你在strong元素下面看到的是段落的下劃線,它實(shí)際上只是“經(jīng)過(guò)”了 strong元素而已。如果修改粗體元素的樣式,可以更清楚地看到這一點(diǎn),如下:

p {text-decoration: underline; color: black;}

strong {color: gray;text-decoration: none;}

<p>This paragraph, which is black and has a black underline, also contains <strong>strongly aifhasized text</strong> which has the black underline beneath it as well.</p>

其結(jié)果與圖6-27—樣,因?yàn)槟闼龅木褪敲鞔_地聲明已經(jīng)有什么。換句話說(shuō),沒(méi)有辦法去掉父元素生成的下劃線(或者上劃線或貫穿線)。

text-decoration與vertical-align結(jié)合時(shí),還會(huì)發(fā)生更奇怪的事情。圖6-28顯示了這樣一種情況。因?yàn)閟up元素沒(méi)有自己的裝飾,但是它在一個(gè)有上劃線的元素中,這個(gè)上劃線穿過(guò)了sup元素:

p {text-decoration: overline; font-size: 12pt;}

sup {vertical-align: 50%; font-size: 12pt;}

圖6-28:正確但有些奇怪的裝飾行為

因?yàn)槲谋狙b飾可能會(huì)造成這樣一些問(wèn)題,現(xiàn)在你可能聲稱再也不會(huì)使用文本裝飾了。實(shí)際上,我還只是指出了其中最簡(jiǎn)單的一些可能的情況,因?yàn)槲覀冎皇怯懻摿税凑找?guī)范來(lái)講會(huì)怎么樣。在實(shí)際中,盡管不該去掉子元素的下劃線,但有些Web瀏覽器確實(shí)會(huì)這么做。這些瀏覽器之所以違反規(guī)范,原因很簡(jiǎn)單:創(chuàng)作人員希望如此。考慮以下標(biāo)記:

p (text-decoration: underline; color: black;}

strong {color: silver; text-decoration: none;}

<p>This paragraph, which is black and has a black underline, also contains <strong>boldfaced text</strong> which does not have black underline beneath it.</p>

圖6-29所示為一個(gè)Web瀏覽器中去掉了strong元素的下劃線。

圖6-29:—些瀏覽器的實(shí)際表現(xiàn)

這里有一個(gè)警告,很多瀏覽器確實(shí)會(huì)遵循規(guī)范,而且現(xiàn)有瀏覽器(或所有其他用戶代理)的將來(lái)版本可能有一天會(huì)嚴(yán)格遵循規(guī)范。所以,如果你依賴于使用none來(lái)去掉裝飾,要認(rèn)識(shí)到重要的一點(diǎn):將來(lái)這可能會(huì)給你帶來(lái)麻煩,甚至現(xiàn)在就會(huì)出問(wèn)題。而且,CSS 的將來(lái)版本可能會(huì)包含一些去掉裝飾的方法,而不必不正確地使用none,所以這方面還是有希望的。

還有一種方法可以改變裝飾的顏色而不會(huì)違反規(guī)范。你應(yīng)該記得,在一個(gè)元素上設(shè)置文本裝飾意味著整個(gè)元素都有同樣的顏色裝飾,即使子元素有不同顏色。為了使裝飾顏色與一個(gè)元素匹配,必須顯式地聲明其裝飾,如下:

p {text-decoration: underline; color: black;}

strong (color: silver; text-decoration: underline;}

<p>This paragraph, which is black and has a black underline, also contains <strong>strongly emphasized text</strong> which has the black underline beneath it as well, but whose gray underline overlays the black underline of its parent.</p>

在圖6-30中,strong元素被設(shè)置為灰色,而且有一個(gè)下劃線。灰色的下劃線看上去“覆蓋”了父元素的黑色下劃線,所以裝飾的顏色與strong元素的顏色匹配。

當(dāng)前文章標(biāo)題:網(wǎng)頁(yè)設(shè)計(jì)中的文本裝飾

當(dāng)前URL:http://americanwasteexpansions.com/news/wzzz/Text-decoration.html

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

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

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