2011-04-17 158 views
0

我环顾四周,还没有找到我正在寻找的QUITE,所以希望这个问题还没有在其他地方得到解答!100%高度和宽度,CSS和动态内容

无论如何,有问题的布局可以找到HERE。我试图实现的是固定宽度的左列和流体宽度内容区域。大多数情况下,它工作得很好。但是,当内容扩展超出浏览器窗口的高度或宽度时,这些部分似乎不会像我想要的那样展开。请注意,如何在顶部的灰色条不会到达页面内容的右侧,并且左侧列的高度也不会到达页面内容的底部。

我是否认为这源于通过CSS将事物设置为100%高度或100%宽度的事实是静态的?即无论调用CSS时浏览器窗口的高度/宽度是否已保存,那就是?

如果是这样的话,也许我需要查看一些其他方法来设置我的元素的高度和宽度。有任何想法吗?另外请注意,页面中的虚拟内容现在是一个图像。我想模糊名称等来保持数据的私密性。

感谢您的帮助!

回答

1

这样的事情如何...

尽管左列将只有尽可能正确的内容。如果你希望它扩展到视口的高度时,有没有足够的内容来填补你需要一些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; 
} 
+0

对不起,大的延迟,但谢谢你的回应。虽然我最终完全改变了自己的结构(从而消除了最初的问题),但您的解决方案指出了我的正确方向。 – 2011-06-28 22:55:53

0

如果背景是主要的问题,你可以样式的包装。这就是我最终为一个不守规矩的边栏而做的事情,因为我不想求助于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*/ 
    } 

如果你有不同的侧边栏,或全宽度的布局,更改背景图片/相应的位置和风格。希望能帮助别人。