Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 如何在页眉和页脚之间设置一个div,使其始终占据100%的剩余空间?_Html_Css_Twitter Bootstrap 3 - Fatal编程技术网

Html 如何在页眉和页脚之间设置一个div,使其始终占据100%的剩余空间?

Html 如何在页眉和页脚之间设置一个div,使其始终占据100%的剩余空间?,html,css,twitter-bootstrap-3,Html,Css,Twitter Bootstrap 3,我正在使用Bootstrap3为我的网站创建页眉和页脚。页眉和页脚都是静态的,因此如果用户在移动设备上,它们可以相应地移动,以确保中间内容的最佳可见性。我的问题是如何将中间内容设置为始终占据100%的剩余空间?页眉和页脚的高度并不总是相同的,因为引导导航栏具有响应性。因此,页脚在桌面上可能有50像素高,但在移动设备中,页脚会有62像素高,因为它堆叠了页脚内容(文本)。以下是我的代码: <body> <!-- Header --> <div c

我正在使用Bootstrap3为我的网站创建页眉和页脚。页眉和页脚都是静态的,因此如果用户在移动设备上,它们可以相应地移动,以确保中间内容的最佳可见性。我的问题是如何将中间内容设置为始终占据100%的剩余空间?页眉和页脚的高度并不总是相同的,因为引导导航栏具有响应性。因此,页脚在桌面上可能有50像素高,但在移动设备中,页脚会有62像素高,因为它堆叠了页脚内容(文本)。以下是我的代码:

<body>
    <!-- Header -->
        <div class="navbar navbar-default navbar-static-top">
            <div class="navbar-inner">
                <div class="container">
                    <div class="navbar-header">
                        <div class="navbar-brand">
                            Brand
                        </div>

                        <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navHeaderCollapse">
                            <span class="icon-bar"></span>
                            <span class="icon-bar"></span>
                            <span class="icon-bar"></span>
                        </button>
                    </div>

                    <div class="collapse navbar-collapse navHeaderCollapse">
                        <ul class="nav navbar-nav navbar-left tabs">
                            <li>
                                <a href="#"><div>
                                        <label class="IconText">Home</label>
                                </div></a>
                                <a href="#"><div>
                                        <label class="IconText">Settings</label>
                                </div></a>
                                <a href="#"><div>
                                        <label class="IconText">About</label>
                                </div></a>
                                <a href="#"><div>
                                        <label class="IconText">Contact</label>
                                </div></a>
                            </li>
                        </ul>
                    </div>
                </div>
            </div>
        </div>
        <!-- Header End -->

        <!-- Middle Content -->
        <div id="background" style="margin-top: -20px;">
            <div class="mainContent">
            </div>
        </div>
        <!-- Middle Content End -->

        <!-- Footer -->
        <div class="navbar navbar-default navbar-static-bottom">
            <div class="container">
                <p><label id="Label" class="navbar-text"></label></p>
            </div>
        </div>
        <!-- Footer End -->
</body>

在桌面模式下,页眉占70px,页脚占50px,这就是mainContent样式部分中120px的来源,但页眉和页脚大小也是响应性的。

这是一个由来已久的问题,这里有一个很好的答案/起点:


它不是特定于引导的,因此您可能需要将一些内容敲入到位,但要点就在那里。

页眉和页脚的响应如何?如果高度是用百分比设置的,只需减去百分比即可。使用使页眉/页脚响应内容大小的相同响应css。如果页眉和页脚只能有几个不同的大小,则可以用百分比设置内容的高度。否则,我怀疑您必须使用JavaScript。老实说,我不确定Bootstrap如何设置页眉和页脚的大小。我试图通过CSS来挖掘它,但它就像5千行代码。我发现页眉和页脚只是导航栏。.Navbar部分仅列出了50px的最小高度。真的没有一个百分比。
.mainContent {
            height: calc(100% - 120px); /* IE9+ and future browsers */
            height: -moz-calc(100% - 120px); /* Firefox */
            height: -webkit-calc(100% - 120px); /* Chrome, Safari */
        }
        #background {
            background : #000000 url("./Images/black_background.jpg") no-repeat bottom left;
            overflow:hidden;
            height: 100%;
        }