2012-01-16 57 views
0

我不是在CSS非常好,我试图找出如何做一个网站,下面我需要适应:CSS布局与填充的内容(高度)

container_div(直属机构) 100%高度(身体也是100%高度),头部高度为170px,然后content div(应该从底部头部向下延伸至),footer div,版权声明为50px高度。

在内容上应该有一个左右DIV(两者位置:亲属;浮动:左/右)

几乎一样的东西:yet another HTML/CSS layout challenge - full height sidebar with sticky footer

但随后的内容应该是溢出:隐藏(我使用自定义滚动条脚本)

我无法弄清楚的部分是如何让content div(在页眉和页脚div之间)由剩余的hight组成。

我试过把容器的背景加到100%的高度,但是因为我的页眉和页脚是透明的,所以你可以通过它们看到内容的背景,这很丑陋。

有人可以给我一个正确的方向与标准模板微移?我可以自己找出其余的。

只为内容的div的CSS代码就可以了是(与有关的CSS的其他一些解释)

编辑:

只是让我们有一些工作(这是比较容易回答我的问题)

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 

<HTML xmlns="http://www.w3.org/1999/xhtml"> 
<HEAD> 
<META http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<TITLE>stretchy footer</TITLE> 
<LINK rel="stylesheet" type="text/css" href="index.css" /> 
</HEAD> 

<BODY> 
<DIV id="container"> 

    <DIV id="header"> 
     <IMG src="./image/header2.png"> 
    </DIV> 


    <DIV id="left"> 
     <DIV id="content"> 
      This is the div which needs to be stretched between header and footer. 
     </DIV> 
    test<BR> 
    test<BR> 
    test<BR> 
    test<BR> 
    test<BR> 


    </DIV> 

    <DIV id="right"> 
    t 
    </DIV> 

</DIV> 
</BODY> 
</HTML> 

CSS样式:

/*   <GENERAL>   */ 
    /* cross-browser reset stylesheet */ 
    * { margin: 0; padding: 0; border-style: none;} 

    *:hover, *:active, *:focus { 
     outline: 0; 
    } 

    html { 
     filter: expression(document.execCommand("BackgroundImageCache", false, true)); 
     line-height: 1; 

     -moz-user-select: none; 
     -moz-user-select: -moz-none; 
     -webkit-user-select: none; 
     -khtml-user-select: none; 
     user-select: none; 
     -webkit-min-device-pixel-ratio:0; 
     height: 100%;} 
    body {height: 100%;} /* safe crossbrowser font */ 
    a {text-decoration: none; outline: none;} 
    a:active { 
     border: none; 
     outline: none;} 
    .imagewrapper img { 
     display: inline-block; 
     width:100%; 
     -ms-interpolation-mode:bicubic; 
     image-rendering:-webkit-optimize-contrast; 
     image-rendering:-moz-crisp-edges; 
     image-rendering: optimizeQuality; 
     zoom:1; *display: inline;} 
/*   </GENERAL>   */ 


.clear { 
    clear: both; /* deze class gaan we gebruiken om de twee floats #left en #right te clearen. */ 
} 

#container { 
    height: 100%; 
    width: 1018px; 
    margin: 0em auto -10em auto; 

    position: relative;} 



#left { 
    display: inline-block; 
    float: left; 
    height: 100%; 
    width: 950px; 
    padding: 0em 2em 0em 1em; 
    border: 1px solid brown; 
    background: url(./image/main.png); 
} 
#left p { 
text-align: justify;} 


#right { 
    float: right; 
    width: 14px; 
    border: 1px solid red; 
} 
+0

你想让页眉和页脚在任何时候都可见吗? – 2012-01-16 13:21:41

回答

0

有几种方法可以使用CSS来帮助您布置Div的。你在考虑浮动的情况下在右侧页面:左/右和位置:相对。我想完全回答你的问题,我需要知道以下几点:

你给最低高度的部门或你只是想扩大到内容的大小?

如果你使用你的外部div作为主要空间的持有者,然后用内部div来填充它们:“position:relative;”和“float:left/right”(无论你需要什么),那么你的页面主体将扩展到所添加内容的大小。如果你有一个最大高度并添加一些滚动条功能,我们需要知道该滚动条工具是否有自己的高度设置(是它自己的div/panel?)。

还有一点需要补充的是,当使用float的时候,你需要包含一个明确的div:作为样式。这种方式可以正确地破解。在任何想要创建中断的元素之后使用此方法。请务必同时检查IE和Firefox,因为它们的行为不同......忘记元素会使页面看起来很有趣。CSS的 “清” 级是在这里:

.clear 
{ 
    clear:both; 
} 

我使用这些链接时,首先搞清楚这个东西出来:

CSS的位置:http://www.barelyfitz.com/screencast/html-training/css/positioning/

CSS身高:http://v1.reinspire.net/blog/2005/10/11/css_vertical_stretch/

只是要意识到IE和其他浏览器不同。所有浏览器都不完全支持height =“auto”等属性,因此您需要考虑这一点。最后,如果你想让东西伸展,你可能需要玩弄宽度属性(例如height = 99%)。一般来说,我只是让页面的主要内容部分的高度由内容决定。我把所有的“body”部分(不是html body,但是主要内容和任何列)包含在一个相对位置的div中,如果我有一个左边或右边的列,其元素少于主要部分,到高度=继承...或高度= 100/99%应该工作,但你需要基于你在做什么来获得浏览器中立渲染可能与你的元素中的风格有关正在增加。

+0

嗨,Qubits感谢您抽出时间帮助我。我不想给内容div设置一个高度,也不会将其缩放到内容。我想在页眉(170像素高度)和页脚(50像素高度)之间拉伸。我使用max-height时遇到的问题是,我的页面也以非标准分辨率(屏幕倾斜90度,制作768x1024)进行查看。这就是为什么我想让我的内容div在页眉和页脚之间伸展。 滚动条工具也不使用设定的高度,它可以使用正确的div,并将其作为子对象调整为高度。 – 2012-01-16 12:14:03

+0

我使用我自己的重置脚本来实现crossbrowser兼容性。我正在寻找的是一种简单的方法,让页眉和页脚之间的#content div伸展,但没有发现任何简单的东西。我已经在分配不同的CSS设置和布局,但似乎没有为我想在这里做的工作。 – 2012-01-16 12:17:23

+0

这就是为什么我要求微调。我没有跨浏览器的断线问题,所以我不需要清楚:两者;设置。我会研究这些链接,看看是否让我得到了一个地方,在此先感谢! – 2012-01-16 12:18:35