天天看點

淺談CSS的position屬性

今天真是倒了巨黴了。這篇文章寫了兩次,都是快寫完的時候給誤撤銷了。DB啊,你還能再二點嗎?

好了,言歸正傳。今天做了一系列的position試驗。原本是貼了代碼的,被搞了兩次,無語了,貼上心得罷了。

1:需要絕對定位的元素,會從其父元素開始向上尋找,一直找到有relative或者absolute定位的元素,然後相對其進行定位。

2:如果需要絕對定位的元素,其父元素或者祖元素都沒有定位屬性,那麼該元素會相對與浏覽器可視視窗的第一屏進行定位。

3:需要相對定位的元素,隻根據自身原有的位置進行定位。并保留自身原有的空間。

以下代碼說明第三點:可以看到藍色DIV并沒有緊靠其父元素,而是緊接着targetDiv原有的位置。

<DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8"/>
		<title>ABSOLUTE的定位</title>
		<style>
			#wrapper{width:800px; height:800px; border:1px solid grey; margin-left:-400px; position:relative; left:50%;top:20%;}
			#innerContainer{width:500px; height:500px; margin-left:250px; background:grey;}
			#targetDiv{width:200px; height:200px; background:red; position:relative; right:50px; top:50px;}
			#nextTag{width:100px; height:100px; background:blue;}
		</style>
	</head>
	<body>
		<p>如果元素有position屬性為absolute,那麼該元素會向上父級尋找</p>
		<div id="wrapper">
			<div id="innerContainer">
				<div id="targetDiv">
				</div>
				<div id="nextTag"></div>
			</div>
		</div>
	</body>
</html>