gpt4 book ai didi

css - 如何获得占窗口高度一定百分比的上边距?

转载 作者:行者123 更新时间:2023-11-28 11:12:10 26 4
gpt4 key购买 nike

我想就特定问题寻求帮助。我搜索过类似的问题,但没有找到任何实际的解决方案。我对 CSS 比较陌生。

我正在尝试创建一个名为 buttoncontainer 的蓝色框,稍后将在其中包含按钮。现在,我想对其进行格式化,使浏览器窗口的上边缘与蓝色框的上边缘之间的距离始终为窗口总高度的 42%。正如下面的代码所示,我试图通过为盒子提供 42% 的顶部边距来实现这一点。

可是,我做不到。当我在 Firefox 或 IE 中打开 HTML 文件时(这是我的家庭桌面上的文件),当窗口全屏显示时,距离显然有所不同。如果不是并且我开始调整它的大小,则框的位置根本不会响应垂直调整大小。但是,它确实响应水平调整大小,我不希望它这样做。

我想这一定是我犯的新手错误,但我就是不知道如何改正。

重申一下,我希望窗口上边缘与蓝色框之间的距离始终为总窗口高度的 42%。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Untitled Document</title>
<script type="text/javascript" src="jquery-1.9.0.js"></script>

<style type="text/css">
body {
background-color: #C94735
}

iframe {
background-color: #FFF;
border: 0;
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
width: 63%;
height: 100%;
margin-left: 25%;
margin-right: 12%;
}

.buttoncontainer {
background-color: #00F;
border: 0;
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
margin-top: 42%;
/* margin-bottom: auto; */
margin-left: 15px;
width: 25%;
height: 58%;
}
</style>

</head>

<body>
<div id="container" class="buttoncontainer">

</div>
<iframe id="content"></iframe>
</body>

</html>

最佳答案

margin-top 的百分比值将始终根据包含元素的宽度 计算。这就是为什么在修改视口(viewport)/容器元素的宽度时修改相对边距位置的原因。您可以使用 javascript 计算值并适当分配。

您也可以尝试使用视口(viewport)相对单位(仅限 css 级别 3)。 (1vw = 视口(viewport)宽度的 1%,1vh = 视口(viewport)高度的 1%)

在此 fiddle 中工作的解决方案我在那里修改了 buttoncontainer 类;

.buttoncontainer {
....
....
margin-top: 42vh;
}

关于css - 如何获得占窗口高度一定百分比的上边距?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16176305/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com