2013-11-20 70 views
0

这是一段时间,因为我手动编码一个网站,现在我有问题,我的顶边缘导致100%的高度给一个讨厌的滚动条,如在小提琴中看到的: http://jsfiddle.net/qKGzA/页边距导致100%的高度给水平滚动条

我不知道如何摆脱这一点,而不切断页脚(如使用溢出:隐藏)。 它可能是一个简单的解决方案,但我想不起来:)

感谢您的帮助!

我的代码:

html, body{ 
    background-color:#ececec; 

    height:100%; 
    width: 100%; 

    margin:0; 
    padding:0; 

} 

div#wrapper{ 
    background-color:#ffffff; 

    width: 962px; 
    height: auto !important; 
    min-height: 100%; 
    height:100%; 

    margin:0 auto; 
    padding:20px 15px 0px 15px; 

    position:relative; 
    display:block; 
} 

footer{ 
    background-color:#363636; 

    width:95%; 
    height: 15px; 

    margin:0; 
    padding:10px; 

    position:absolute; 
    bottom:0; 

    font-family:Arial, Helvetica, sans-serif; 
    font-size:12px; 
    color:#e1e1e1; 
    text-align:center; 
} 

footer p{ 
    margin:0; 
    padding:0; 
    display:inline-block; 
} 
footer p.divider{ 
    margin:0 20px; 
} 

HTML:

<body> 


<div id="wrapper" > 
    <header> 
    header header 
    </header> 
    <menu> Menu menu</menu> 
    <section> 
    section section 
    </section> 
    <footer> 
    <p>x</p><p class="divider">~</p> 
    <p>x</p><p class="divider">~</p> 
    <p>x</p><p class="divider">~</p> 
    <p>x</p> 
    </footer> 
</div> 



</body> 

回答

1

div#wrapper具有100%+ padding:20px 15px 0px 15px使它成为100%+ 20像素。如果添加

box-sizing:border-box; 

to div#wrapper填充将在100%内,滚动条消失。

非css3替代方法是将元素放置在div#wrapper内部的顶部,高度为20像素。也许将20px顶部填充添加到非CSS3浏览器的包装内部的头元素。

+0

盒子大小参考http://www.w3schools.com/cssref/css3_pr_box-sizing.asp – Wayne

1

一个。你的身体是否必须分配高度和宽度?你不能简单地设置背景。它应该自动跨越不依赖于用户屏幕的任何宽度。

b。你可以设置机构的位置:绝对;左:0;正确:0; top:0;溢出:隐藏; 这应该让你的身体根据需要进行高度扩展。

c。你可以分配一个实际的像素高度,或者em。像700px这样的东西不应该离开屏幕,但当然,如果用户是移动的,这将会改变。

+0

你和韦恩的答案组合工作:身体与绝对位置和框大小:边界框到#wrapper :) 谢谢! – Lisa

+0

现在我有另一个问题:页脚的宽度太宽(100%超过了封装宽度,我不想)。我的代码是这样的(只有它没有显示正确的小提琴,我在Chrome工作)http://jsfiddle.net/qKGzA/1/ 删除位置:绝对&底部:0修复了问题,但后来页脚不在页面底部.. – Lisa