【发布时间】:2017-09-05 10:17:55
【问题描述】:
我正在尝试根据规范将伪元素放置在网格上。这适用于我在<body> 上设置的外部布局,但不适用于本身是网格的<header>。
如何将标题 nav:after 元素放置在网格的右列中?为什么它在我的示例中不起作用?
感谢您的帮助!代码如下:
body {
display: grid;
grid-template-columns: 1fr 800px 1fr;
}
header {
grid-column: 1 / 4;
grid-row: 1;
display: grid;
grid-template-columns: 1fr 800px 1fr;
}
/* Works great */
header:before {
content: 'Left';
grid-column: 1 / 2;
}
/* Doesn't work, treated as a child element */
header nav:after {
content: 'Right';
grid-column: 3 / 4;
}
header nav {
grid-column: 2 / 3;
}
<body>
<header>
<nav>
<ul>
<li><a href='#'>Link</a></li>
<li><a href='#'>Link</a></li>
<li><a href='#'>Link</a></li>
</ul>
</nav>
</header>
</body>
谢谢!
【问题讨论】: