在 CSS 网格中使用 grid-template-areas 时,我想要一个跨越整个宽度的标题。是的,我可以使用 repeat( 12, 1fr) 定义模板网格列,但我正在寻找一种使用它的方法,而不必将列的名称写入 12 次。见下文。
grid-template-areas:
"article-hero article-hero article-hero article-hero article-hero article-hero article-hero article-hero article-hero article-hero article-hero article-hero"
"header header header header header header header header header header header header"
"main main main main main main main main main aside aside aside"
"footer footer footer footer footer footer footer footer footer footer footer footer";
Run Code Online (Sandbox Code Playgroud)
第一行有 'article-hero 写了 12 次,有没有办法使用重复,这样我就可以做repeat(12,article-hero)而不是写 12 次?
当你使用时,grid-template-areas你必须不厌其烦地写出网格区域- 你没有在这里重复(它实际上与 非常相似ASCII art)。
.wrapper {
display: grid;
grid-template-areas: "article-hero article-hero article-hero article-hero article-hero article-hero article-hero article-hero article-hero article-hero article-hero article-hero"
"header header header header header header header header header header header header"
"main main main main main main main main main aside aside aside"
"footer footer footer footer footer footer footer footer footer footer footer footer";
height: 100vh;
}
.wrapper>* {
border: 1px solid cadetblue;
}
article {
grid-area: article-hero;
}
header {
grid-area: header;
}
main {
grid-area: main;
}
footer {
grid-area: footer;
}
aside {
grid-area: aside;
}Run Code Online (Sandbox Code Playgroud)
<div class="wrapper">
<article>hero</article>
<header>header</header>
<main>main</main>
<aside>aside</aside>
<footer>footer</footer>
</div>Run Code Online (Sandbox Code Playgroud)
使用时需要注意的几点grid-template-areas:
使用网格线定位项目
您可以line-based-placements使用 12 列网格(使用grid-template-columns: repeat(12, 1fr))并使用grid-column属性切换到此处 - 请参阅下面的演示:
.wrapper {
display: grid;
grid-template-columns: repeat(12, 1fr);
height: 100vh;
}
.wrapper>* {
border: 1px solid cadetblue;
grid-column: span 12;
}
.wrapper main {
grid-column: span 9;
}
.wrapper aside {
grid-column: span 3;
}Run Code Online (Sandbox Code Playgroud)
<div class="wrapper">
<article>hero</article>
<header>header</header>
<main>main</main>
<aside>aside</aside>
<footer>footer</footer>
</div>Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1493 次 |
| 最近记录: |