您的当前位置:首页正文

css使用relative模仿百度首页top

2020-11-27 来源:星星旅游
最近在学习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>
 <p class="content">
 <p class="wrap">
 <p class="wrap-content">
 </p>
 </p>
 </p>
</body>
</html>

分析

利用的原理:

百分比值的计算方式:实际值 = 具有确定宽高的祖先元素的宽高 * 百分比值。默认情况下,块级元素的宽为100%,高度则是根据内容来计算。所以如果祖先元素没有确定了高度的,那么百分比值也无法确定,它的值会被设置为0。

如果设置了html元素的高度为height: 100%;那么html元素的高度会随着viewport的高度改变。