我正在尝试使用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)它没有填满屏幕的整个高度。
我做错了什么?
答案 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>