欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

css relative设置top为百分比值

程序员文章站 2022-06-22 11:35:29
前言: 最近在学习HTML、CSS的过程中,想模仿一下百度首页。发现搜索框这一部分与上下其它元素的空白距离可以随着窗口大小变化(效果如下图所示),于是自己研究了一下并记录下来。 效果实现 分析 利用的原理: ......

前言:

最近在学习HTML、CSS的过程中,想模仿一下百度首页。发现搜索框这一部分与上下其它元素的空白距离可以随着窗口大小变化(效果如下图所示),于是自己研究了一下并记录下来。

css relative设置top为百分比值

效果实现

<!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的高度改变。