CSS Positioning (定位)

2022-05-19 15:06 更新

CSS Positioning (定位)

CSS position 屬性,允許您將布局的一部分與另一部分重疊,還可以完成多年來(lái)通常需要使用多個(gè)表格才能完成的任務(wù)。


定位有時(shí)很棘手!

決定顯示在前面的元素!

元素可以重疊!


Positioning (定位)

CSS 定位屬性允許你為一個(gè)元素定位。它也可以將一個(gè)元素放在另一個(gè)元素后面,并指定一個(gè)元素的內(nèi)容太大時(shí),應(yīng)該發(fā)生什么。

元素可以使用的頂部,底部,左側(cè)和右側(cè)屬性定位。然而,這些屬性無(wú)法工作,除非事先設(shè)定 position 屬性。他們也有不同的工作方式,這取決于定位方法.

有四種不同的定位方法。


Static 定位

HTML 元素的默認(rèn)值,即沒(méi)有定位,元素出現(xiàn)在正常的流中。

靜態(tài)定位的元素不會(huì)受到 top, bottom, left, right 影響。


Fixed 定位

元素的位置相對(duì)于瀏覽器窗口是固定位置。

即使窗口是滾動(dòng)的它也不會(huì)移動(dòng):

實(shí)例

p.pos_fixed
{
position:fixed;
top:30px;
right:5px;
}

嘗試一下 ?

注意: Fixed 定位在 IE7 和 IE8 下需要描述 !DOCTYPE 才能支持.

Fixed 定位使元素的位置與文檔流無(wú)關(guān),因此不占據(jù)空間。

Fixed 定位的元素和其他元素重疊。


Relative 定位

相對(duì)定位元素的定位是相對(duì)其正常位置。

實(shí)例

h2.pos_left
{
position:relative;
left:-20px;
}
h2.pos_right
{
position:relative;
left:20px;
}

嘗試一下 ?

可以移動(dòng)的相對(duì)定位元素的內(nèi)容和相互重疊的元素,它原本所占的空間不會(huì)改變。

實(shí)例

h2.pos_top
{
position:relative;
top:-50px;
}

嘗試一下 ?

相對(duì)定位元素經(jīng)常被用來(lái)作為絕對(duì)定位元素的容器塊。


Absolute 定位

絕對(duì)定位的元素的位置相對(duì)于最近的已定位父元素,如果元素沒(méi)有已定位的父元素,那么它的位置相對(duì)于 <html>:

實(shí)例

h2
{
position:absolute;
left:100px;
top:150px;
}

嘗試一下 ?

Absolutely 定位使元素的位置與文檔流無(wú)關(guān),因此不占據(jù)空間。

Absolutely 定位的元素和其他元素重疊。


重疊的元素

元素的定位與文檔流無(wú)關(guān),所以它們可以覆蓋頁(yè)面上的其它元素

z-index 屬性指定了一個(gè)元素的堆疊順序(哪個(gè)元素應(yīng)該放在前面,或后面)

一個(gè)元素可以有正數(shù)或負(fù)數(shù)的堆疊順序:

實(shí)例

img
{
position:absolute;
left:0px;
top:0px;
z-index:-1;
}

嘗試一下 ?

具有更高堆疊順序的元素總是在較低的堆疊順序元素的前面。

注意: 如果兩個(gè)定位元素重疊,沒(méi)有指定 z - index,最后定位在 HTML 代碼中的元素將被顯示在最前面。


Examples

更多實(shí)例

裁剪元素的外形

此示例演示如何設(shè)置元素的外形。該元素被剪裁成這種形狀,并顯示出來(lái)。

如何使用滾動(dòng)條來(lái)顯示元素內(nèi)溢出的內(nèi)容

這個(gè)例子演示了overflow屬性創(chuàng)建一個(gè)滾動(dòng)條,當(dāng)一個(gè)元素的內(nèi)容在指定的區(qū)域過(guò)大時(shí)如何設(shè)置以適應(yīng)。

如何設(shè)置瀏覽器自動(dòng)溢出處理

這個(gè)例子演示了如何設(shè)置瀏覽器來(lái)自動(dòng)處理溢出。

更改光標(biāo)

這個(gè)例子演示了如何改變光標(biāo)。


所有的CSS定位屬性

"CSS" 列中的數(shù)字表示哪個(gè)CSS(CSS1 或者CSS2)版本定義了該屬性。

屬性 說(shuō)明 CSS
bottom 定義了定位元素下外邊距邊界與其包含塊下邊界之間的偏移。 auto
length
%
inherit
2
clip 剪輯一個(gè)絕對(duì)定位的元素 shape
auto
inherit
2
cursor 顯示光標(biāo)移動(dòng)到指定的類型 url
auto
crosshair
default
pointer
move
e-resize
ne-resize
nw-resize
n-resize
se-resize
sw-resize
s-resize
w-resize
text
wait
help
2
left 定義了定位元素左外邊距邊界與其包含塊左邊界之間的偏移。 auto
length
%
inherit
2
overflow
設(shè)置當(dāng)元素的內(nèi)容溢出其區(qū)域時(shí)發(fā)生的事情。 auto
hidden
scroll
visible
inherit
2
position 指定元素的定位類型 absolute
fixed
relative
static
inherit
2
right 定義了定位元素右外邊距邊界與其包含塊右邊界之間的偏移。 auto
length
%
inherit
2
top 定義了一個(gè)定位元素的上外邊距邊界與其包含塊上邊界之間的偏移。 auto
length
%
inherit
2
z-index 設(shè)置元素的堆疊順序 number
auto
inherit
2

相關(guān)文章

CSS 參考手冊(cè):CSS position 屬性

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)