gpt4 book ai didi

html - 调整浏览器大小时绝对位置错误

转载 作者:太空宇宙 更新时间:2023-11-04 03:34:38 24 4
gpt4 key购买 nike

我有两个 div,当我将浏览器调整为 100 时,第一个 div 处于相对位置,其他 div 处于绝对位置% 屏幕尺寸,一切似乎都很好。

当我调整浏览器大小时,绝对位置的第二个元素出现在容器外,不多,但仍然在外面的不同位置。

演示:http://jsfiddle.net/1pde2gyc/

我的 CSS 代码:

#container_front {
position:relative;
width:40%;
margin-left:auto;
margin-right:auto;
}

#front_like {
position:absolute;
width:50px;
height:50px;
left:75%;
bottom:-1%;
}

问题出在 front_like 上,这个 DIV 里面只有一张图片,当我将屏幕大小调整为图片的 50 % 或 30 % 时,这张图片或多或少显示在右侧和中间离开名为 container_front 的容器。

我认为使用 absolute 和 % 总是保持在相同的位置,但我看到当调整大小移出时,是否存在解决此问题的解决方案? ir css 计算位置并留在同一侧的容器中并且没有 out

致以最诚挚的问候。

最佳答案

问题:如果您绝对定位某些元素的 left: 75%; 具有基于百分比的宽度的元素并调整大小,则子元素仍位于 75 % 但现在面积较小。子元素不是基于百分比的宽度,因此它不会适应新的宽度,而是子元素推出边界,因为它的最左边的点将保持在较小父元素的 75%,并且它的宽度仍然是像素值。

enter image description here

解决方案:将像素值更改为百分比值

子元素在调整大小时会适应父元素的宽度,不会超出父元素的边界。

这是一个jsFiddle demo

enter image description here


CSS 解决方案:或者,使用 CSS 媒体查询来应用样式以适应较小的视口(viewport)。

@media screen and (max-width: 460px) {
#front_like {
left: 60%;
}
}

jsFiddle Demo - 这并不理想,因为您将不得不通过多个查询多次考虑它

关于html - 调整浏览器大小时绝对位置错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25735235/

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