?網(wǎng)頁設(shè)計(jì)中的偏移屬性

  • 2019-02-27 17:00:21
  • 閱讀次數(shù):
  • 作者:盈嵐科技小編
  • 來源:http://51zuanshi.com.cn

上一節(jié)介紹了網(wǎng)頁設(shè)計(jì)三種定位機(jī)制使用了4個(gè)屬性來描述定位元素各邊相對于其包含塊的偏移。我們將這4個(gè)屬性稱為偏移屬性,這對于完成定位是很重要的一部分。

top、right、bottom、left

值:<length>| <percentage> | auto | inherit

初始值:auto

應(yīng)用于:定位元素(也就是position值不是static的元素)

繼承性:無

百分?jǐn)?shù):對于top和bottom,相對于包含塊的高度;對于right和left,相對于包含塊的寬度

計(jì)算值:對于相對定位元素,見以下說明,對于static元素為auto,對于長度值,是相應(yīng)的絕對長度;對于百分?jǐn)?shù)值,則為指定的值;否則,為 auto

說明:計(jì)算值取決于一系列因素,見附錄A中的相關(guān)例子

這些屬性描述了距離包含塊最近邊的偏移(所以得名offset)。例如,top描述了網(wǎng)站建設(shè)定位元素上外邊距邊界離其包含塊的頂端多遠(yuǎn)。如果top為正值,會把定位元素的上外邊距邊界下移,若為負(fù)值,則會把定位元素的上外邊距移到其包含塊的頂端之上。類似地,left描述了定位元素的左外邊距邊界在其包含塊左邊界右邊(正值)或左邊(負(fù)值)有多遠(yuǎn)。如果是正值,會把定位元素的外邊距邊界移到包含塊左邊界右邊,而負(fù)值則將其移到包含塊左邊界左邊。

還可以這樣來講,正值會導(dǎo)致向內(nèi)偏移,使邊界朝著包含塊的中心移動,而負(fù)值會導(dǎo)致向外偏移。

注意:最初的網(wǎng)站建設(shè)CSS2規(guī)范實(shí)際上指出,偏移的是內(nèi)容邊界,而不是外邊距邊界,不過這與CSS2的其他部分不一致。這個(gè)錯(cuò)誤在后來的勘誤和CSS2.1中得到修正。所有當(dāng)前開發(fā)的瀏覽器(寫作本書時(shí))都使用外邊距邊界來完成偏移計(jì)算。

偏移定位元素的外邊距邊界時(shí),帶來的影響是元素的所有一切(包括外邊距,邊框、內(nèi)邊距和內(nèi)容)都會在定位的過程中移動。因此,可以為定位元素設(shè)置外邊距、邊框和內(nèi)邊距,這些會隨著定位元素一直保留,并包含在偏移屬性定義的區(qū)域內(nèi)。

網(wǎng)頁設(shè)計(jì)人員要記住重要的一點(diǎn),偏移屬性定義了距離包含塊相應(yīng)邊的偏移(例如,left定義了距離包含塊左邊的偏移),而不是距包含塊左上角的偏移。正是因?yàn)檫@個(gè)原因,填充一個(gè)包含塊的右下角時(shí)要使用以下值:

top: 50%; bottom: 0; left: 50%; right: 0;

在這個(gè)例子中,定位元素的左外邊界放在包含塊中間的位置上,這是距包含塊左邊界的偏移。不過,定位元素的右外邊界沒有從包含塊的右邊界偏移,所以二者不矛盾。定位元素的頂端和底端也是如此:外上邊界放在包含塊中間的位置上,但是外下邊界沒有從包含塊底端上移。這就得到了如圖10-26所示的結(jié)果。

圖10-26:填充包含塊的右下1/4部分

注意:在圖10-26以及本章大多數(shù)例子中,都是基于絕對定位的,由于絕對定位對于展示top、right、bottom和left如何工作是最簡單的機(jī)制,所以我們一直都會用絕對定位。

需要說明,網(wǎng)頁設(shè)計(jì)定位元素的背景色稍有不同。圖10-26中沒有外邊距,但是如果確實(shí)有外邊距,在邊框和偏移邊界之間就會出現(xiàn)空白。看上去就好像定位元素沒有完全填充包含塊右下方1/4部分一樣。實(shí)際上,它確實(shí)填滿了這個(gè)區(qū)域,不過人眼不能直接看出。因此,以下兩組樣式會得到幾乎相同的外觀效果,假設(shè)包含塊為100em高,100em寬:

top: 50%; bottom: 0; left: 50%; right: 0; margin: 10em;

top: 60%; bottom: 10%; left: 60%; right: 10%; margin: 0;

重申一句,二者只是在視覺效果上相似。

通過使用負(fù)值,可以將一個(gè)元素定位到其包含塊之外,例如,指定以下值會得到如圖10-27所示的結(jié)果:

top:-5em; bottom: 50%; left: 75%; right:-3em;

圖10-27:將一個(gè)元素定位到其包含塊之外

除了長度值和百分?jǐn)?shù)值,網(wǎng)頁設(shè)計(jì)的偏移屬性還可以設(shè)置為auto,這是默認(rèn)值。對于auto沒有定義行為,它會根據(jù)所用的定位類型改變。本章后面將逐個(gè)考慮各種定位類型,并介紹auto如何作用。

當(dāng)前文章標(biāo)題:?網(wǎng)頁設(shè)計(jì)中的偏移屬性

當(dāng)前URL:http://51zuanshi.com.cn/news/wzzz/migration-properties.html

上一篇:網(wǎng)頁設(shè)計(jì)中的包含塊

下一篇:網(wǎng)頁設(shè)計(jì)中的寬度和高度

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