这样做的方法是使用第二个容器。我不知道您的确切代码,但这是一个示例。假设您的结构是这样的:
<div class="page">
<header class="banner">
<h1>header</h1>
</header>
<nav class="navigation">
<ul class="nav-inner">
<li>navigation link</li>
</ul>
</nav>
<article class="main">
<h2>main content</h2>
</article>
<footer class="contentinfo">
<p>footer</p>
</footer>
</div>
我在那里做出的唯一重要假设是确保在导航侧边栏周围有一个额外的包装。我有<nav>
标签和<ul>
标签可以使用。您可以使用任何您想要的标签,只要侧边栏有两个可用于结构 - 外部用于固定容器,内部用于侧边栏本身。CSS 看起来像这样:
// one container for everything in the standard document flow.
.page {
@include container;
@include susy-grid-background;
}
// a position-fixed container for the sidebar.
.navigation {
@include container;
@include susy-grid-background;
position: fixed;
left: 0;
right: 0;
// the sidebar itself only spans 3 columns.
.nav-inner { @include span-columns(3); }
}
// the main content just needs to leave that space open.
.main { @include pre(3); }
// styles to help you see what is happening.
header, article, .nav-inner, footer {
padding: 6em 0;
outline: 1px solid red;
}
干杯。