gpt4 book ai didi

使用基于百分比的高度和水平滚动在网站上进行 CSS 绝对定位

转载 作者:太空宇宙 更新时间:2023-11-04 04:51:55 25 4
gpt4 key购买 nike

有没有办法只使用 CSS 使用整个文档宽度的百分比来左定位我的元素,而不仅仅是浏览器宽度?

我正在创建一个水平滚动网站,其中所有元素的高度和与顶部的对齐方式都使用百分比设置 — 这是为了适应所有浏览器尺寸并确保所有元素保持比例。

如果我尝试使用类似的方法更改页面上元素的左(或右)对齐;

#my_element {
position: absolute;
top: 5%;
width: 34%
left: 10%;
}

这将是浏览器窗口宽度的 10%,而不是 body 或 html 元素的实际宽度 — 这在标准垂直滚动网站中有意义,但对我没有帮助。

我目前的解决方法是使用 JavaScript 来定位左侧;

$('#my_element').css('left', $(document).width() / 100 * 10) //Position to 10% of the page.

这可行,但当 JavaScript 加载速度不够快或当我想使用 CSS 动画为各种元素设置动画时会导致一些问题。

最佳答案

当您设置元素的 width 时对于百分比,它是根据该元素的父元素来衡量的。所以在下面,body元素是浏览器的 100% 宽度和 div.boxbody 的 50% 宽度元素。

<html>
<head>
<style>
div.box { width: 50% }
</style>
</head>
<body>
<div class="box">
</body>
</html>

您实际上可以更改 body 的宽度和 html元素。

因此,例如,如果您有四个“幻灯片”或“面板”,您希望它们占浏览器的 100% 宽度,您可以给出 html元素 400% 宽度,body 100% 宽度(仍然是浏览器的 400%,因为它的父元素是 html 元素),每张幻灯片宽度为 25%。

Here is a fiddle with an example.

我看到的唯一问题是,如果你说了三张幻灯片,你的 html元素将是 300%,每张幻灯片 33.33333...%。所以你不会有一个漂亮干净的数字文档。

有趣的是,你也可以乱用任何元素,比如 <head><script> .即,您可以显示 <script> 的内容就像任何其他元素一样,通过更改其默认值 display: noneinlineblock ... fiddle

关于使用基于百分比的高度和水平滚动在网站上进行 CSS 绝对定位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13306763/

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