我在尝试这样做时遇到了很多问题,我现在想知道在 css 中是否有可能。(也许我需要找到使用 PHP、Flash 或 Javascript 的其他方法!)
基本上,我有3张图片。每个都是 1920x1200 (x*y) 的大小。当从左到右放置时,它们会形成风景图像。我想创建一个网页,您可以在其中水平滚动以查看站点的每个部分,其中 3 个图像是 div 元素的背景图像,并且在两侧相互接触。滚动将用这个来处理(这也是 .items 需要位置:绝对的原因。)在大多数情况下,我已经能够创建这个:
HTML:
<div class="items">
<div class="item" id="item1"><a name="item1"></a>
text
</div>
<div class="item" id="item2"><a name="item2"></a>
more text
</div>
<div class="item" id="item3"><a name="item3"></a>
even more text
</div>
</div>
CSS:
#item1, #item2, #item3 {
float: left;
width: 1920px;
height: 1200px;
}
#item1 {
background: #ffffff url(../../images/main/1.jpg);
}
#item2 {
background: #ffffff url(../../images/main/2.jpg);
}
#item3 {
background: #ffffff url(../../images/main/3.jpg);
}
/* our additional wrapper element for the items */
.items {
width: 5790px;
position: absolute;
}
但是,我遇到的问题是我需要使这项工作适用于多种屏幕尺寸和分辨率。我想要做的是使每个#itemn 的高度为可见页面的 100%,但是如果不阻止 div 元素左右出现,我就无法这样做。通常它会导致它们出现在彼此之上。
我尝试按照此处的说明操作并使用 img。但是,通过将位置设置为固定或绝对位置,我使之前向左浮动的 div 元素内的图像出现在彼此的顶部。
为了清楚起见,我想要的效果就像这个网站一样,但我需要调整背景图像的高度以适应页面,否则在我的机器的不同分辨率下看起来会很糟糕。如果需要,我可以提供更多解释,但我认为我已经很好地总结了这个问题。是否有可能以任何方式解决这个问题——也许使用 Javascript、PHP 或 Flash?
编辑
我刚刚发现有一个 CSS3 属性可以完全满足我的需要(背景大小),但它并没有在大多数浏览器中实现...... hack 是使用 -moz-border-image 然后使用 php 放置正确的高度和宽度 px 到 css 中。我不想那样做!