100%高度和宽度,CSS和动态内容
问题描述:
我环顾四周,还没有找到我正在寻找的QUITE,所以希望这个问题还没有在其他地方得到解答!100%高度和宽度,CSS和动态内容
无论如何,有问题的布局可以找到HERE。我试图实现的是固定宽度的左列和流体宽度内容区域。大多数情况下,它工作得很好。但是,当内容扩展超出浏览器窗口的高度或宽度时,这些部分似乎不会像我想要的那样展开。请注意,如何在顶部的灰色条不会到达页面内容的右侧,并且左侧列的高度也不会到达页面内容的底部。
我是否认为这源于通过CSS将事物设置为100%高度或100%宽度的事实是静态的?即无论调用CSS时浏览器窗口的高度/宽度是否已保存,那就是?
如果是这样的话,也许我需要查看一些其他方法来设置我的元素的高度和宽度。有任何想法吗?另外请注意,页面中的虚拟内容现在是一个图像。我想模糊名称等来保持数据的私密性。
感谢您的帮助!
答
这样的事情如何...
尽管左列将只有尽可能正确的内容。如果你希望它扩展到视口的高度时,有没有足够的内容来填补你需要一些JavaScript或你将不得不使用重复的背景,填补html
演示:http://jsfiddle.net/wdm954/KyUfN/
<div id="wrapper">
<div id="left">left</div>
<div id="right">
<div id="content">
<div id="top">top</div>
content
</div>
</div>
</div>
CSS ...
/* clearfix */
#wrapper:after, #right:after {
content: ".";
display: block;
height: 0;
clear: both;
visibility: hidden;
font-size: 0;
}
#wrapper, #right {
display: inline-block;
}
#wrapper, #right {
display: block;
-height: 1px;
}
/* end clearfix */
#wrapper {
background-color: #000000;
}
#left {
float: left;
width: 300px;
color: #FFF;
}
#right {
margin-left: 300px;
}
#top {
height: 100px;
background-color: #DEDEDE;
border-bottom: 1px solid #B8B8B8;
}
#content {
background-color: #F4EBEB;
height: 600px;
width: 1200px;
}
答
如果背景是主要的问题,你可以样式的包装。这就是我最终为一个不守规矩的边栏而做的事情,因为我不想求助于JS,而其他解决方案对我不起作用。在我的情况下,侧边栏的问题来自jQuery标签,这是主题的一部分。当我切换到标签页时,侧边栏不会延伸到全高,所以背景也不会。
HTML
<div id="wrapper" class="sidebar-right">
<div id="maincontent">
#content
</div>
<div id="sidebar-right">
#sidebar content
</div>
</div>
CSS (这个假定960网格280像素边栏)
#wrapper.sidebar-right{
background: white url('images/bg.png');
background-repeat: repeat-y; /*repeats down the length of the page*/
background-position: 680px 0px; /*moves it into place*/
}
如果你有不同的侧边栏,或全宽度的布局,更改背景图片/相应的位置和风格。希望能帮助别人。
对不起,大的延迟,但谢谢你的回应。虽然我最终完全改变了自己的结构(从而消除了最初的问题),但您的解决方案指出了我的正确方向。 – 2011-06-28 22:55:53