網(wǎng)頁設(shè)計中的生成引號

生成內(nèi)容有一種特殊形式,即引號,網(wǎng)站建設(shè)提供了一種有效的方式來管理引號及其嵌套行為。由于提供了open-quote等成對的content值以及屬性quotes,使得生成引號的管理成為可能。

quotes

值:[<string><string>]+ | none | inherit

初始值:取決于具體的用戶代理

應(yīng)用于:所有元素

繼承性:有

計算值:根據(jù)指定確定

研究值的語法時可以發(fā)現(xiàn),除了關(guān)鍵字none和inherit外,唯一合法的值是一對或多對串。在一對串中,前一個串定義了開始引號(open-quote),第二個串定義了結(jié)束引號(close-quote)。因此,以下兩個聲明中僅第一個合法:

quotes:'"'"'"./* valid */

quotes:'"';/* NOT VALID */

串本身是引號時,也可以用引號將其包圍,第一個規(guī)則就展示了這樣一種方法。雙引號可以由單引號包圍,反之亦然。

下面來看一個簡單的例子。假設(shè)創(chuàng)建了一個XML格式,存儲最常用的引用列表。以下是列表中的一項:

<quotatidn>

<quote>I hate quotations.</quote>

<quotee>Ralph Waldo Eraerson</quotee>

</quotation>

要用一種有意義的方法表示數(shù)據(jù),網(wǎng)頁設(shè)計人員可以采用以下規(guī)則,其結(jié)果見圖12-20所示:

值open-quote和close-quote用于插入合適的引號符號(因為不同語言有不同的引號)。它們使用quotes值來確定如何工作。因此,quotation以一個雙引號開始,并以一個雙引號結(jié)束。

如果想使用“彎引號”而不是普通的直引號(這在大多數(shù)打印媒體中很常見),quote 規(guī)則要寫作:

quote {quotes:'\201C''\201D';}

這里使用了“彎引號”的十六進制Unicode值,如果應(yīng)用到前面的quotation, Emerson 的引用會包圍在彎引號中,而不像圖12-20中所示那樣包圍在直引號中。

利用quotes,只要網(wǎng)頁設(shè)計人員愿意,可以定義任意多層嵌套引用模式。例如,在英語中,一種常用的做法是先以雙引號開頭,在其中嵌套的引用使用單引號。通過以下規(guī)則,就可以利用“彎引號”做到這一點:

quotation: display: block;}

quote {quotes:'\201C''\201D''\2018''\2019';}

quote:before, q:before{content: open-quote;}

quote:after, q:after {content: close-quote;}

應(yīng)用到以下標記時,這些規(guī)則的效果如圖12-21所示:

<quotation>

<quote> In the beginning, there was nothing. And God said:<q>Let there be light!</q> And there was still nothing, but-you could see it.</quote>

</quotation>

如果引號的嵌套層次大于已定義的引號對數(shù),最后一對引號將重用于更深層次的嵌套。因此,如果向圖丨2-21所示的標記應(yīng)用以下規(guī)則,內(nèi)層引用將與外層引用一樣使用雙引號:

quote {quotes:'\201C''\201D';}

利用生成引號,還能實現(xiàn)另外一種常見的排版效果。如果有多段引用文本,通常會忽略毎一段的結(jié)束引號(close-quote),而只顯示開始引號,只是最后一段例外,可以使用no-close-quote值達到這個效果:

blockquote (quotes:'"'  '"' "'" '"' '"' '"';}

blockquote p:before {content: open-guote;}

blockquote p:after {content: no-close-quote;}

利用這個規(guī)則,每一段的開始處會有一個雙引號,不過沒有結(jié)束引號。最后一段也是如此,所以如果想為最后一段增加一個結(jié)束引號,需要為最后一段指定類(class),并為其:after內(nèi)容聲明一個close-quote。

這個值很重要,因為這樣可以使引用嵌套層次遞而不必真正生成一個符號。正因如此,在第三段之前,每個段落都以一個雙引號開始,而不是交替使用雙引號和單引號。no-close-quote在各段的最后結(jié)束了引用嵌套,因此每一段都從相同的嵌套層次開始。

這很重要,正如網(wǎng)站建設(shè)規(guī)范所指出的,"引用深度不依賴于源文檔或格式化結(jié)構(gòu)的嵌套”。換句話說,開始一個引用層次時,所有元素都有相同的嵌套層次,直到遇到一個close-quote,此時引用嵌套層次減1。

為保證完備,還有一個no-open-quote關(guān)鍵字,其效果與no-close-quote對稱。這個關(guān)鍵字會讓引用嵌套層次增1,但不生成符號。

網(wǎng)站建設(shè)、網(wǎng)絡(luò)營銷咨詢專線:0871-63535511(點擊可一鍵撥號)