css relative設置top為百分比值


前言:

最近在學習HTML、CSS的過程中,想模仿一下百度首頁。發現搜索框這一部分與上下其它元素的空白距離可以隨着窗口大小變化(效果如下圖所示),於是自己研究了一下並記錄下來。

效果實現

<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<title>垂直伸縮</title>
	<style type="text/css">
		*{
			padding: 0;
			margin: 0;
		}

		body,html{
			height: 100%;
		}

		.content{
			min-width: 810px;
			min-height: 600px;
			height: 100%;
			border: 1px dashed green;
		}

		.wrap{
			width: 100%;
			height: 191px;
			border: 1px solid blue;
			position: relative;
			top: 38.2%;
		}

		.wrap-content{
			width: 100%;
			height: 191px;
			background-color: red;
			position: relative;
			top: -191px;
		}
	</style>
</head>
<body>
	<div class="content">
		<div class="wrap">
			<div class="wrap-content">
			</div>
		</div>
	</div>
</body>
</html>

 分析

利用的原理:

  1. 百分比值的計算方式:實際值 = 具有確定寬高的祖先元素的寬高 * 百分比值。默認情況下,塊級元素的寬為100%,高度則是根據內容來計算。所以如果祖先元素沒有確定了高度的,那么百分比值也無法確定,它的值會被設置為0。
  2. 如果設置了html元素的高度為height: 100%;那么html元素的高度會隨着viewport的高度改變。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM