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