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>

分析

利用的原理:

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

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

总结

以上所述是小编给大家介绍的css 使用relative设置top为百分比值(仿百度首页),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!

本文css 如何使用relative设置top为百分比值的方法(仿百度首页)到此结束。世界上那些最容易的事情中,拖延时刻最不费力。小编再次感谢大家对我们的支持!

您可能有感兴趣的文章
css让页脚保持在底部位置的四种方案

CSS如何使用Flex和Grid布局如何实现3D骰子

Flex布局史上最简单使用语法教程

新的CSS 伪类函数 :is() 和 :where()示例详解

纯CSS打字动画的如何实现示例