具有网站基础的全屏布局

时间:2015-01-27 13:55:48

标签: css zurb-foundation

我正在尝试使用Zurb的网站基础创建全屏布局。我需要使用屏幕的整个宽度。我还想在屏幕左侧有两列导航栏。布局看起来像这样:

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

左两列将是固定大小。但是,最远的列需要占用剩余空间。为了构建这个,我现在编写了以下代码:

<!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)它没有填满屏幕的整个高度。

我做错了什么?

2 个答案:

答案 0 :(得分:3)

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

.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;
}

答案 1 :(得分:1)

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

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