HTML / CSS全高边栏

前端之家收集整理的这篇文章主要介绍了HTML / CSS全高边栏前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在互联网上发现了很多关于这个问题的讨论和问题,但是,他们似乎都不符合我的情况,解决方案对某种情况是非常具体的.

我在页面顶部有一个高度为100px的标题元素.我有一个div#sidebar元素浮动左边的宽度为250px,最后一个div#主要元素也浮动左边.

html,body和div#sidebar的高度是100%.

我的目标是让div#侧边栏一直延伸到页面底部,而不管浏览器大小或内容大小.显然,如果内容长于可查看的页面高度,它应该正常地执行并且推动通过页面的末尾,引入滚动条.

然而,现在看来,页面高度似乎被计算为100%100px,引入滚动条,即使没有内容会推送div#sidebar.到目前为止,我发现没有任何解决方案可以工作,或者也许我错过了解决方案,不管怎样,我一直在这个时间已经有一个多小时了,我要把我的头发撕开了.

有没有一个非JavaScript方法来使其正常工作,以阻止标题的高度被添加到100%?

这是我的HTML / CSS – 虽然我包括上面的所有相关细节,这应该有帮助.

<!DOCTYPE html>
<html lang="en">
    <head>
        <Meta charset="utf-8" />
        <title>My Awesome Template!</title>
        <link href="./stylesheet.css" rel="stylesheet" />
    </head>
    <body>
        <header id="primary">
            <h1>My Awesome Template!</h1>
        </header>
        <div id="sidebar">
            <h1>Sidebar</h1>
        </div>
        <div id="main">
            <h1>Main</h1>
        </div>
    </body>
</html>

CSS:

html,body
{
    margin: 0;
    padding: 0;
    height: 100%;
}

body
{
    background: #fff;
    font: 14px/1.333 sans-serif;
    color: #080000;
}

header#primary
{
    width: 100%;
    height: 100px;
    background: #313131;
    background-image: -webkit-gradient(linear,0 0,0 100%,from(#4d4d4d),to(#313131));
    background-image: -moz-linear-gradient(#4d4d4d,#313131);
    background-image: -o-linear-gradient(#4d4d4d,#313131);
    background-image: linear-gradient(#4d4d4d,#313131);
}
header#primary h1
{
    margin: 0px 0px 0px 20px;
    padding: 0px;
    line-height: 100px;
    color: #ffffff;
}

#sidebar
{
    float: left;
    width: 250px;
    background: #ccc;
    min-height: 100%;
}

#main
{
    float: left;
}

解决方法

你正在寻找臭名昭着的“人造柱”技术.这是 a tutorial.

基本上,你不能用简单的背景颜色来做,你必须使用重复的背景图像.

原文链接:https://www.f2er.com/html/224435.html

猜你在找的HTML相关文章