搜尋
首頁web前端css教學div+css網頁佈局設計新開端(10)

下面說說相對定位
設定為相對定位的元素框會偏移某個距離。元素仍然保持其未定位前的形狀,它原本所佔的空間仍保留。

簡單的說,相對定位就是根據他自身定位,他的坐標點就是他自身div的左上角

<html>
<head>
<style type="text/css"> 
body{
margin:0;
padding:0;
} #a{
width:500px;
height:500px;
border:solid;
margin-left:50px; 
} #b{
width:100px;
height:100px;
border:soild;
background:green;
position: relative;
left:500px;
top: 20px; } 
</style> 
<head>
<body>
<div id="a">
<div id="b"></div> </div>
</body>
</html>

div+css網頁佈局設計新開端(10)

可以看出相對定位是根據自身來定位,而且不會受父div的約束
有人可能會問,他以前的位置在哪裡?又如何根據自身定位的
把position: relative;去掉則就是他以前的位置

如果父層定義絕對定位或相對定位會怎樣呢?

<html>
<head>
<style type="text/css"> 
body{
margin:0;
padding:0;
} #a{
width:500px;
height:500px;
border:solid;
margin-left:50px;
position: relative; } #b{
width:100px;
height:100px;
border:soild;
background:green;
position: relative;
left:500px;
top: 20px; } 
</style> 
<head>
<body>
<div id="a">
<div id="b"></div> </div>
</body>
</html>

你會發現沒有變化
也就是說,相對定位不管父層是普通的div,還是浮動或者絕對定位和相對定位,對其本身移動無​​任何影響,他只以自己左上角坐標點移動,這點是獨立的
但是,父層的改變會影響到他原來的位置,他是根據原來位置的左上角來移動,然後到一個新的位置,所以說父層如何移動的話,那麼他也會對應的移動

當相對定位div碰到普通div

#c{
width:100px;
height:100px;
border:soild;
background:red;
} 
#b{
width:100px;
height:100px;
border:soild;
background:green;
position: relative; } 
</style> 
<head>
<body>
<div id="a">
<div id="c"></div>
<div id="b"></div> </div>
</body>
</html>

div+css網頁佈局設計新開端(10)

綠色是相對定位div,可以看出,如果不給相對定位div定義座標(也就是top,left),他跟普通div是沒兩樣的,同樣的遵循地面的流模式,地上的div也看的到他,如果紅色是浮動div,那麼他也會像普通div看不到浮動div,從而去紅色那區域
如果給他定義座標

#b{
width:100px;
height:100px;
border:soild;
background:green;
position: relative;
top:-20px: /*向上移动,同样left有负值就是向左移动*/
left:20px;
}

div+css網頁佈局設計新開端(10)

可以看出他可以覆蓋紅色區域,這跟絕對定位是一樣的
也就是說,沒定義坐標之前,他是沒起飛的,跟普通div一樣
定義了坐標之後,他就起飛了,而且是飛艇
這裡多說一下,如果絕對定位一開始沒定義坐標,他就在瀏覽器左上角或者父層(要定義絕對或相對定位)的左上角,它是一直在空中的,不會佔用地上的區域
而相對定位起飛後跟絕對定位是一樣的,可以在空中自由移動,不必遵循流,只是他們兩個取的坐標起始點不同而已
但是相對定位沒起飛就是普通div,佔據地上的區域,遵循流
起飛後,他原來的區域(就是沒起飛的時候的位置)還得保留的,不會讓普通div和浮動div給佔了
就是起飛的時候告訴網頁:「老子起飛後還要看到我原來的位置是空的,別讓其他層給我佔了! !移動在下面,紅色也不會去佔用那塊區域

div+css網頁佈局設計新開端(10)

當相對定位遇到相對定位

<html>
<head>
<style type="text/css"> 
body{
margin:0;
padding:0;
} #a{
width:500px;
height:500px;
border:solid;
margin-left:20px; }
#c{
width:100px;
height:100px;
border:soild;
background:red;
} 
#b{
width:100px;
height:100px;
border:soild;
background:green;
position: relative;
top:200px;
left:100px;
} 
</style> 
<head>
<body>
<div id="a">
<div id="b"></div>
<div id="c"></div>
</div>
</body>
</html>



紅色的沒起飛,綠色的起飛了,但綠色的在紅色下面,這說明沒在紅色下面,這說明沒定義座標的相對定位div並不絕對等於普通div,當兩個相對定位一起出現時,最後出現的會覆蓋前面的,這跟絕對定位是一樣的,綠色在空中,紅色的地面,由於紅色最後出現,所以綠色覆蓋紅色的部分要透明化

(還有一種理解,就是相對定位也一直是在空中,它所佔的區域跟地面是同步的,也就是地面的div不能跑到它下面來,但條件是,它必須遵循地面的流模式規則,具體用哪種理解,看你們覺得哪種好理解了。

div+css網頁佈局設計新開端(10)一樣的,紅色在上面

表示相對定位和絕對定位沒區別,只是坐標起始點不同而已

他們同樣可以用z-index設定層疊順序,相對定位遇到相對定位也一樣

下面在說說固定定位fixed ;根據這個設定top left

其實很簡單,就是固定在一個位置,瀏覽器(滾動條)怎麼移動都不會動

div+css網頁佈局設計新開端(10)百度貼吧右下角

回傳頂端就是用的固定定位

position 屬性值的意義: 
static (預設就是這個)
元素框正常產生。區塊級元素產生一個矩形框,作為文件流程的一部分,行內元素則會建立一個或多個行框,置於其父元素中。 
relative 
元素框偏移某個距離。元素仍保持其未定位前的形狀,它原本所佔的空間仍保留。 
absolute 
元素框從文件流完全刪除,並相對於其包含區塊定位。包含區塊可能是文件中的另一個元素或是初始包含區塊。元素原先在正常文件流程中所佔的空間會關閉,就好像元素原來不存在一樣。元素定位後產生一個區塊級框,而不論原來它在正常流中產生何種類型的框。 
fixed 
元素框的表現類似於將 position 設為 absolute,不過其包含區塊是視窗本身。

下面總結一下
普通div--地面遵循地面流模式
浮動div--空中遵循空中流模式都同一高度
定位div--空中不遵循流模式比浮動div要高並非都同一高度

在頁面佈局中,一般把大框(最父層)定義成相對定位,但不給坐標,這樣他可以遵循流模式,居中什麼的都很方便,而大框裡面就用絕對定位了,這樣就可以隨著大框移動而移動
但用不用定位也不是必須的,喜歡用margin也可以,但肯定沒絕對定位&相對定位方便
網頁佈局的發展
table定位---margin定位---絕對&相對&固定定位

好了,差不多把最主要的講完了,現在截幾張圖片參考下吧

div+css網頁佈局設計新開端(10)

div+css網頁佈局設計新開端(10)

div+css網頁佈局設計新開端(10)

div+css網頁佈局設計新開端(10)



10)的內容,更多相關內容請關注PHP中文網(www.php.cn)! 🎜🎜🎜🎜🎜
陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
通過用於Web組件的樣式選項進行思考通過用於Web組件的樣式選項進行思考Apr 12, 2025 am 10:02 AM

您將樣式放在網絡組件中的位置?

了解異步等待了解異步等待Apr 12, 2025 am 09:55 AM

在為Web編寫代碼時,最終您需要做一些可能需要一些時間才能完成的過程。 JavaScript可以真正多任務,所以

最好的第三方組件最好的第三方組件Apr 12, 2025 am 09:54 AM

我是Web組件的粉絲。我認為這是幾乎任何規模建立網站的非常好的方法(也許是絕對是最多的

有多少個CSS屬性?有多少個CSS屬性?Apr 12, 2025 am 09:53 AM

托馬斯(Tomasz)發表了一條笑話推文,講述了所有CSS屬性的命名,Tejas Kumar笑著回答,甚至是製作NPM模塊。你

如何使用Greensock在網上動畫如何使用Greensock在網上動畫Apr 12, 2025 am 09:48 AM

確實有成千上萬種在網絡上進行動畫動畫的方法。我們之前介紹了不同動畫技術的比較。今天,我們要去

您如何在CSS中進行最大尺寸?您如何在CSS中進行最大尺寸?Apr 12, 2025 am 09:45 AM

CSS不具有最大尺寸,因此,如果我們需要按照這些行執行某些操作的東西,我們就必須變得棘手。

價格為四個佈局價格為四個佈局Apr 12, 2025 am 09:40 AM

當有關Flexbox佈局的推文在Twitter上獲得8K喜歡時,非常值得注意!

超越'使用”元素的自動SVG壓縮超越'使用”元素的自動SVG壓縮Apr 12, 2025 am 09:39 AM

如果您繪製自己的SVG文件或從Internet下載它們,那麼SVG-編輯或SVGOMG之類的工具是您的朋友。用

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
3 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能

SecLists

SecLists

SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。