gpt4 book ai didi

html - 滚动视口(viewport)时,背景图像在底部或右侧被截断

转载 作者:行者123 更新时间:2023-11-28 06:40:13 25 4
gpt4 key购买 nike

我看到了很多类似的问题,但找不到解决方法。
打开this sample并调整浏览器的大小以使其高度变短
比主 div 高度高约 400 像素。向下滚动时,附加到正文的背景图像被切断: The problem

代码:

html { height: 100%; color: white; }
body { height:100%; padding: 0; margin: 0; background:url(bg.jpg) repeat-x; background-position: bottom; background-size: contain; }
/*#pageWrap { background:url(bg.jpg) repeat-x;}*/
#page { height:100%; }
#divHeader { width:100%; height:115px; }
#divMain { width:600px; height:400px; border: solid 1px brown; }
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<div id="pageWrap">
<div id="page">
<div id="divHeader">Header</div>
<div id="divMain">Main</div>
<div id="divFooter"><p>All Rights Reserved. Blabla® 2015</p></div>
</div>
</div>
</body>
</html>

我尝试按照某人的建议将背景图像移动到 pageWrap div。
它解决了垂直滚动问题,但在水平方向上产生了类似的问题:
当窗口太窄而您向左滚动时,图像会在右侧被截断。

有什么真正的解决办法吗?

最佳答案

您已经定义了 repeat-x 值,然后背景仅在 X 轴(水平)上重复。

为了解决这个问题,您有两种不同的解决方案用于两个不同的目的。

你可以把repeat的值在X轴和Y轴重复,但是这样有一个问题,因为你的背景是渐变的,如果你在Y轴重复,视觉效果会很差。

另一个解决方案(在我看来是最好的解决方案)是定义背景覆盖整个元素。这可以通过属性 background-size: cover 来实现。

变化将是:

 body {
background:url(bg.jpg) repeat-x;
background-size: cover;
}

如果这能解决您的问题,请告诉我。

存在另一个具有 background-attachment 属性的解决方案。可以定义为固定值,滚动不移动背景。

 body {
background:url(bg.jpg) repeat-x;
background-attachment: fixed;
}

关于html - 滚动视口(viewport)时,背景图像在底部或右侧被截断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34336761/

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