固定div背景

时间:2012-10-15 15:26:45

标签: html css background attachment fixed

我想创建一个布局,我想在左边显示图像,在右边显示内容。当内容滚动时,图像应保持不变。

我正在使用的CSS:

    <style type="text/css">

        #page-container
        {
            margin:auto;            
            width:900px;              
            background-color:Black;
        }

        #header
        {
           height:150px;
           width:650px;
        }

        #main-image
        {
            float:left;
            width:250px;
            height:500px;
            background-image:url('../images/main-image.png');
            position:fixed;
        }


        #content
        {
             margin-left:250px;
             padding:10px;
             height:250px;
             width:630px;
             background-color:Teal;

        }
    </style>

HTML:

<div id="page-container">
    <div id="header"><img src="someimagelink" alt="" /></div>
    <div id="main-image"></div>
    <div id="content"></div>    
</div>

在这个网站上有很多时间,我已经理解了背景附件:固定图像在整个视口中的位置,而不是它应用的元素。

我的问题是如何创建这种布局?

我不想将该图像作为背景图像,就好像窗口调整大小一样,它可能会被隐藏。如果窗口大小小于900px(我的页面宽度),我想要滚动条出现,以便可以随时查看图像。

这个代码会发生这种情况,但我希望图像从我的元素开始。

我该怎么做?

提前致谢:)

编辑:

我接受了建议并添加了一个位置:固定属性为#main-image。使用如上所示的HTML和CSS。 现在,我还想修复标题,使其不移动。基本上,只有我的内容部分应该滚动。 但是,如果我添加一个位置:固定到标题,我的#main-image和#content现在位于我的标题之上。 如果我向#main-image添加一个margin-top:150px(因为我的标题高度是150px),它可以正常工作并适当地向下移动。 但是如果我在#content中添加一个margin-top:150px,我的标题会向下移动150px并且仍然位于我的#content之上。 有人可以解释为什么会这样吗? 在此先感谢:)

3 个答案:

答案 0 :(得分:3)

看一下这个链接:

http://www.barelyfitz.com/screencast/html-training/css/positioning/

你可以学习如何用它来定位Div。

这将解决您的问题: #main-image {position:fixed;}


编辑: 我不确定是什么原因引起了你的问题,但这是解决方案: #content{ position:relative; top:150px; }

我的猜测: 我认为这是因为当使用position时:修复了那些2 div相对于浏览器窗口的位置,而另一个相对于文档本身。

在此链接中,您将看到有关定位的更多信息,您可以测试与位置属性相关的一些功能:

http://www.w3schools.com/cssref/pr_class_position.asp

关于一个div位于另一个div上的事实,您应该搜索'z-index'属性。 Firefox具有3D模式,因此您可以更清楚地看到它:

http://www.addictivetips.com/internet-tips/browse-internet-in-3d-using-mozilla-firefox-11-tip/

答案 1 :(得分:0)

min-widthhtml上设置body

答案 2 :(得分:0)

您是否尝试将#page-container设置为relative,将#main-image容器设置为absolute,并使用top,bottom等设置位置。然后您还应该能够将#content容器向右浮动。