我想创建一个布局,我想在左边显示图像,在右边显示内容。当内容滚动时,图像应保持不变。
我正在使用的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之上。 有人可以解释为什么会这样吗? 在此先感谢:)
答案 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-width
和html
上设置body
。
答案 2 :(得分:0)
您是否尝试将#page-container设置为relative,将#main-image容器设置为absolute,并使用top,bottom等设置位置。然后您还应该能够将#content容器向右浮动。