具有站点基础的全屏布局
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>
我正在尝试使用 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>