在網(wǎng)頁(yè)設計時(shí),要生成內容,需要有一種辦法來(lái)描述生成的內容。前面已經(jīng)看到,這是利用content屬性處理的,不過(guò)關(guān)于這個(gè)屬性還有更多內容,前面了解的還遠遠不夠。
前面已經(jīng)看到了串和URl值的使用,計數器將在本章后面介紹。在介紹attr()和quote 值之前,我們將更詳細地討論串和URI。
串值會(huì )原樣顯示,即使其中包含某種標記也不例外。因此,以下規則會(huì )原樣插入到文檔中。
這說(shuō)明,如果你希望生成內容中有一個(gè)換行(回車(chē)),不能直接使用<br>,而要使用串\A,這是CSS表示換行的方法(由Unicode換行符得來(lái),其十六進(jìn)制位置是A)。相反,如果有一個(gè)很長(cháng)的串,需要把它分成多行則要用\符號對換行符轉義。還可以使用轉義來(lái)指示十六進(jìn)制Unicode值,如\00AB。
利用URI值,只需指向一個(gè)外部資源(一個(gè)圖像、視頻、聲音剪輯或用戶(hù)代理支持的其他任何資源),然后插入到文檔中適當的位置。如果用戶(hù)代理出于某種原因不支持所指定的資源,例如你想向瀏覽器插入一個(gè)SVG圖像,但這個(gè)瀏覽器無(wú)法識別SVG,或者向一個(gè)要打印的文檔中插入視頻,此時(shí)就要求用戶(hù)代理完全忽略這個(gè)資源,不插入任何內容。
在網(wǎng)頁(yè)設計中,有些情況下,你可能想取一個(gè)元素的屬性值,使之作為文檔顯示的一部分。舉一個(gè)簡(jiǎn)單的例子,可以把每個(gè)鏈接的href屬性值直接放在鏈接的后面,如下:
a[href]:after {content: attr(href);}
這也會(huì )導致生成內容與具體內容沖突的問(wèn)題。在設計網(wǎng)頁(yè)時(shí),為解決這個(gè)問(wèn)題,可以向聲明增加一些串值。
所有屬性值都可以作為生成內容插入:alt文本、class或id值,以及任何屬性。創(chuàng )作人員可能會(huì )明確顯示塊引用的引用信息,如下,
blockquote:after {content:"("( attr(cite)")" display: block;
text-align: right; font-style: italic;}
對此,利用更復雜的規則還可以顯示一個(gè)法律文檔的文本和鏈接顏色值:
body:before {content:"Text:" attr(text)" I Link:" attr(link)
"I Visited:" attr(vlink)" I Active:" attr(alink);
display: block; padding: 0.33em;
border: 1px solid black; text-align: center;}
注意,如果一個(gè)屬性不存在,會(huì )在相應位置插入一個(gè)空串。正如圖12-19所示,在此向一個(gè)文檔應用以上示例規則,該文檔中body元素沒(méi)有alink屬性。
可以看到,文本“Active:”(包括后面的空格)確實(shí)插入到了文檔中,不過(guò)后面什么也沒(méi)有。如果只想在屬性存在時(shí)才插入該屬性的值,這就很方便。
當前文章標題:網(wǎng)頁(yè)設計中的指定內容
當前URL:http://amzcoolest.com/news/wzzz/3033.html