具有站点基础的全屏布局

Full Screen Layout with Foundation for Sites

我正在尝试使用 Zurb 的 Foundation for Sites 创建全屏布局。我需要使用屏幕的整个宽度。我还希望在屏幕左侧有两列用于导航。布局将如下所示:

+--------+--------+---------------------+ 
|        |        |                     | 
|        |        |                     | 
|        |        |                     | 
|        |        |                     | 
|        |        |                     | 
|        |        |                     | 
|        |        |                     | 
|        |        |                     | 
+--------+--------+---------------------+

左边两列的大小是固定的。但是,最远的列需要占用剩余的space。为了构建它,我目前编写了以下代码:

<!DOCTYPE html>

<html>
<head>
    <title>Page Title</title>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta charset="UTF-8">
    <link rel="icon" type="image/png" href="/resources/root/images/favicon.png">

    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/foundation/5.5.0/css/foundation.min.css" />
    <style type="text/javascript">
    .   .app {
            height: 100%;
            width: 100%;
            position: relative;
            overflow: hidden;
        }

        .app-col {
            height: 100%;
        }
    </style>
</head>

<body>
    <div class="app">
        <div class="row">
            <div class="app-col large-2 columns" style="background-color:blue;">
                <div class="title-2">Here</div>
                <nav>
                  <div><a href="/location-1">Nav 1</a></div>
                  <div><a href="/location-2">Nav 2</a></div>
                </nav>
            </div>
            <div class="app-col large-2 columns" style="background-color:red;">
                <nav>
                  <div><a href="/location-a">Sub Nav 1</a></div>
                  <div><a href="/location-b">Sub Nav 2</a></div>
                </nav>
            </div>
            <div class="app-col large-8 columns">
                content
            </div>
        </div>
    </div>

    <script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jqueryui/1.10.4/jquery-ui.min.js"></script>

    <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/foundation/5.5.0/js/foundation.min.js"></script>
</body>
</html>

不幸的是,当我 运行 1) 布局似乎只占屏幕的 ~70% 并且 2) 它没有填满屏幕的整个高度。

我做错了什么?

对于第一个问题,那是因为正在应用 Zurb 的 Foundation class 行,您可以包含一个自定义 class 来覆盖并具有完整的宽度,例如:

.fullwidth {
   width: 100%;
   height: 100%;
   margin-left: auto;
   margin-right: auto;
   max-width: initial;
}

因此可以使用名为 equalizer

的新功能来回答第二个问题

勾选这个fiddle

也许另一种解决方案是使用一些 javascript,例如 here

HTML:

<div class="app">
    <div class="row fullwidth" data-equalizer>
        <div class="app-col large-2 columns" style="background-color:blue;" data-equalizer-watch>
            <div class="title-2">Here</div>
            <nav>
              <div><a href="/location-1">Nav 1</a></div>
              <div><a href="/location-2">Nav 2</a></div>
            </nav>
        </div>
        <div class="app-col large-2 columns" style="background-color:red;" data-equalizer-watch>
            <nav>
              <div><a href="/location-a">Sub Nav 1</a></div>
              <div><a href="/location-b">Sub Nav 2</a></div>
            </nav>
        </div>
        <div class="app-col large-8 columns" style="background-color:green;">
            content
        </div>
    </div>            
</div>

CSS:

.app {
    height: 100%;
    width: 100%;
    position: relative;
    overflow: hidden;
}

.app-col {
    height: 100%;
}

.fullwidth {
   width: 100%;
   height: 100%;
   margin-left: auto;
   margin-right: auto;
   max-width: initial;
}

这是旧的,但以防万一其他人正在寻找这个答案。 Foundation 6 现在有一个 class 可以用来实现 100% 宽度。只需使用 class 扩展。

<div class="row expanded">
 content goes here
</div>