gpt4 book ai didi

css - 如何创建固定滚动背景图像的全屏

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

我以前这样做过,所以我知道这是可能的,但现在它行不通了,而且它正在扰乱我的大脑!因此,希望在我将附近的所有 IE 粉碎成一百万位之前,有人可以帮助我解决这个问题。

我想做的是重新创建类似 Ornamento 的东西网站。当用户在其上滚动时,图片会相互重叠。它们是在单独的 div 中使用分层的固定背景图像完成的。效果是这样的:

这是未滚动的网站:

Ornamento Unscrolled

这是滚动的网站

Ornamento Scrolled

如您所见,背景图像保留在同一位置,但逐渐被不同 div 中的其他背景图像覆盖或“接管”。这适用于 Chrome、Firefox、Opera、IE10、IE9、Safari 和 IE8(可能还有其他)。这是用 CSS3 背景覆盖和固定背景定位完成的。

所以,我试图在我的测试版网站上复制它,Striking Foto .除了旧版 IE(8 及以下版本),我让它在所有东西中都能正常工作。我正在使用 IE 过滤器来获取完整的背景图像,它看起来不错。

我使用了以下代码(有 5 个包含内容的 div,每个都标记为主页、关于、画廊、定价和联系方式:

#home, #about, #gallery, #pricing, #contact { 
position: relative;
display: block;
height: 100%;
width: 100%;
background: url(../assets/style_images/home_background.jpg) no-repeat center center fixed;
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover;
border-bottom: 5px solid #000;
filter:progid:DXImageTransform.Microsoft.AlphaImageLoader (src='assets/style_images/home_background.jpg', sizingMethod='scale');
-ms-filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='assets/style_images/home_background.jpg', sizingMethod='scale')";}

#about { background-image: url(../assets/style_images/about_background.jpg);
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='assets/style_images/about_background.jpg', sizingMethod='scale');
-ms-filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='assets/style_images/about_background.jpg', sizingMethod='scale')";}

#gallery { background-image: url(../assets/style_images/gallery_background.jpg);
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='assets/style_images/gallery_background.jpg', sizingMethod='scale');
-ms-filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='assets/style_images/gallery_background.jpg', sizingMethod='scale')";}

#pricing { background-image: url(../assets/style_images/pricing_background.jpg);
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='assets/style_images/pricing_background.jpg', sizingMethod='scale');
-ms-filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='assets/style_images/pricing_background.jpg', sizingMethod='scale')";}

#contact {
background-image: url(../assets/style_images/contact_background.jpg);
border: none;
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='assets/style_images/contact_background.jpg', sizingMethod='scale');
-ms-filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='assets/style_images/contact_background.jpg', sizingMethod='scale')"; }

(注意:我相信这个 IE 过滤器仅在使用索引文件而不是 CSS 文件的链接引用图像时才起作用。我对此可能是错误的,但这就是链接不相同的原因。)

我以为这会奏效,但事实并非如此。当我在 IE 中滚动时,我看到了这种情况:

IE8 Not Scrolling Correctly

背景图像不是固定的背景定位,而是滚动的。所以我认为这是 IE 过滤器,因为它们喜欢 fork 所有内容。所以我删除了它们并再次尝试。这次我得到了下图:

IE8 Not Scaling Correctly

现在图像向右滚动,但背景图像不是全屏。

我的 HTML 看起来像这样(经过编辑以使其更小且更易读)。

 <!DOCTYPE HTML>
<html>
<head>
<title>Striking Foto</title>
<!--[if lte IE 8]><script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script><![endif]-->
</head>

<body>
<header></header>

<div id="home">
<!--nothing except images-->
</div>
<div id="about">
<div class="wrap">
<article>
<!--nothing except content-->
</article>
</div>
</div>
<div id="gallery">
<div class="wrap">
<article>
<!--content-->
</article>
</div>
</div>
<div id="pricing">
<div class="wrap">
<article>
<!--content-->
</article>
</div>
</div>
<div id="contact">
<div class="wrap">
<article>
<!--content-->
</article>
</div>
</div>
</body>
</html>

所以,我被困住了。 Ornamento 以某种方式在 IE 中执行此操作,我以前也这样做过,但我不知道如何操作,而且我真的需要一些帮助。如果您愿意,我可以提供所有 CSS,但您也可以在线查看。

非常感谢!

最佳答案

我意识到 ornamento.com 上的图像不是全宽的。尽可能扩大你的浏览器,你会看到;-)

最好的选择是使用 http://srobbin.com/jquery-plugins/backstretch/使用 ie 条件并且图像不在 ie 中滚动

或者使图像足够大以至于在 ie 中看不到边缘,它们在其他尺寸为“cover”的浏览器中仍然看起来不错

希望这对找到它的其他人有所帮助!我花了几个小时在上面

关于css - 如何创建固定滚动背景图像的全屏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14618619/

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