過(guò)去,如果網(wǎng)站建設人員想要某種“邊欄式(sidebar)”背景,必須創(chuàng )建一個(gè)很短但非常寬的圖像放在背景上。有一段時(shí)間,這種圖像的最佳大小是10像素高1,500像素寬。當然,圖像的大部分都是空白,只有左邊100像素左右包含“邊欄”圖像。圖像的余下部分基本上都被浪費了。
如果能創(chuàng )建一個(gè)只有10像素高100像素寬的邊欄圖像,而沒(méi)有浪費的空白空間,然后只在垂直方向上重復這個(gè)圖像,這樣不是更高效嗎?這肯定會(huì )讓網(wǎng)頁(yè)設計者的設計工作容易一些,而且用戶(hù)的下載也會(huì )快得多。下面來(lái)看background-repeat。
background-repeat值:
repeat | repeat-x | repeat-y | no-repeat | inherit
初始值:repeat
應用于:所有元素
繼承性:無(wú)
計算值:根據指定確定
你可能猜得到,repeat導致圖像在水平垂直方向上都平鋪,就像以往背景圖像的通常做法一樣。repeat-x和repeat-y分別導致圖像只在水平或垂直方向上重復,no-repeat則不允許圖像在任何方向上平鋪。
默認地,背景圖像將會(huì )從一個(gè)元素的左上角開(kāi)始(本章后面將介紹如何改變這種默認行為)。因此,以下規則將得到如圖9-17所示的結果:
body {background-image: url(yinyang.gif);
background-repeat: repeat-y;}
圖9-17:垂直平鋪背景圖像
(為了讓規則盡量簡(jiǎn)短,這里省略了背景顏色,不過(guò)要記住,只要有背景圖像就應該同時(shí)包含一個(gè)背景顏色。)
不過(guò),假設網(wǎng)頁(yè)設計者希望圖像在文檔的頂端重復。不必為此創(chuàng )建一個(gè)特殊圖像,使其下面全部都是空白,只需對規則做一個(gè)小改動(dòng):
body{background-image:url(yinyang.gif);
background-repeat:repeat-x;}
如圖9-18所示,這個(gè)圖像會(huì )從其起點(diǎn)沿著(zhù)x軸重復(也就是水平重復),在這里就是從瀏覽器窗口的左上角開(kāi)始水平重復。
最后,你可能根本不希望重復背景圖像。在這種情況下,可以使用值no-repeat:
body{background-image:url(yinyang.gif);background-repeat:no-repeat;)
這個(gè)值看上去可能用處不大,因為這個(gè)聲明只會(huì )把一個(gè)小圖像放在文檔的左上角,不過(guò)再來(lái)看一個(gè)大得多的符號,如圖9-19所示:
body{background-image:url(bigyinyang.gif);
background-repeat:no-repeat;}
圖9-18:水平平鋪
圖9-19:放一個(gè)大背景圖像
由于能控制重復方向,這使得可能達到的效果大大增加。例如,假設網(wǎng)頁(yè)設計者希望文檔中每個(gè)h1元素的左邊有一個(gè)三重邊框??梢园堰@個(gè)概念再進(jìn)一步,在每個(gè)h2元素的頂端設置一個(gè)波浪線(xiàn)邊框。圖像采用特定方式著(zhù)色,使之能與背景色混合,得到圖9-20所示的波浪效果:
h1{background-image:url(Criplebor.gif);background-repeat:repeat-y;}
h2{background-image:url(wavybord.gif);background-repeat:repeat-x;background-color:#CCC;}
圖9-20:對有背景圖像的元素加邊框
僅僅通過(guò)選擇適當的圖像,并用某種創(chuàng )造性的方式加以使用,就可以創(chuàng )建一些非常有意思的效果。還不僅如此。既然你已經(jīng)知道了如何限制一個(gè)背景圖像的重復,那么如何讓它在背景區內移動(dòng)呢?
當前文章標題:網(wǎng)頁(yè)設計中的方向重復
當前URL:http://amzcoolest.com/news/wzzz/background-repeat.html