2011-08-12 44 views
0

所以我想知道是否有办法在HTML/CSS中解决这个问题。带页眉和页脚的Css网格并调整中间大小?

我在这里有一些XAML代码,它产生一个3行布局,头部和内容块以及页脚。页眉和页脚根据内容调整大小,而内容块如果内容大于父母高度则显示滚动条。

<Grid Height="300"> 
    <Grid.RowDefinitions> 
     <RowDefinition Height="Auto" /> 
     <RowDefinition Height="*" /> 
     <RowDefinition Height="Auto" /> 
    </Grid.RowDefinitions> 
    <TextBlock Grid.Row="0" Background="Green">I'm a Header</TextBlock> 
    <ScrollViewer Grid.Row="1"> 
     <StackPanel TextBlock.FontSize="50"> 
      <TextBlock>Content</TextBlock> 
      <TextBlock>Content</TextBlock> 
      <TextBlock>Content</TextBlock> 
      <TextBlock>Content</TextBlock> 
      <TextBlock>Content</TextBlock> 
      <TextBlock>Content</TextBlock> 
      <TextBlock>Content</TextBlock> 
      <TextBlock>Content</TextBlock> 
      <TextBlock>Content</TextBlock> 
     </StackPanel> 
    </ScrollViewer> 
    <TextBlock Grid.Row="2" Background="Red">I'm a Footer</TextBlock> 
</Grid> 

我只是想知道是否有办法在HTML中做这样的事情?

谢谢,劳尔

更新

正如你可以看到父容器是一个设定的高度,一切调整大小,根据它的父。

这里是什么样子 Large window

而且当调整父容器内容分块大小调整,而页眉和页脚保持不变。

Smaller Window

+0

您可以添加该代码生成的屏幕截图吗?对于我们这些不熟悉XAML的人,比如我自己。 – thirtydot

回答

-1

是的,你可以用三个<div>的和一些CSS做到这一点。

像这样的东西(更新以匹配已更新问题):

<div id="wrapper"> 
<div id="header">Header Content Here</div> 
<div id="content">Main Content Here</div> 
<div id="footer">Footer Content Here</div> 
</div> 

有了这个CSS:

#content{height:100%; overflow:scroll;} 
#wrapper{height:100%;} 

页眉和页脚将增长到适合的内容,但主要区域将受到限制。当然你也可以设置宽度。

+0

这不是真的一样。在我的例子中,容器是高度设置的容器,内容块明确地显示高度。在你的例子中,你正在手动设置内容高度。 – HaxElit

+0

哎呀,我的意思是隐含地说。 – HaxElit

+0

我现在明白你的问题,你已经包含更新 - 我已经更新了我的答案以匹配 – nikmd23