【发布时间】:2023-03-19 00:33:01
【问题描述】:
我有一个代表井字游戏的 CSS 网格。我只想在网格内放置一个边框。今天,我是这样进行的:
:root {
--border: 2px dashed #393939;
--symbol-color: #FF7F5B;
}
.grid {
height: 100%;
display: grid;
grid-template-columns: repeat(3, calc(100%/3));
grid-template-rows: repeat(3, calc(100%/3));
}
.child {
display: flex;
align-items: center;
align-content: center;
color: var(--symbol-color);
font-size: 2.5rem;
}
.child:nth-child(1),
.child:nth-child(2),
.child:nth-child(3) {
border-bottom: var(--border);
}
.child:nth-child(7),
.child:nth-child(8),
.child:nth-child(9) {
border-top: var(--border);
}
.child:nth-child(1),
.child:nth-child(4),
.child:nth-child(7) {
border-right: var(--border);
}
.child:nth-child(3),
.child:nth-child(6),
.child:nth-child(9) {
border-left: var(--border);
}
<div class="grid">
<div class="child"></div>
<div class="child"></div>
<div class="child"></div>
<div class="child"></div>
<div class="child"></div>
<div class="child"></div>
<div class="child"></div>
<div class="child"></div>
<div class="child"></div>
</div>
结果:
这个解决方案有效,但我觉得它没有吸引力。您有重构此解决方案的想法吗?
【问题讨论】:
-
给定的 sn-p 不起作用。错过了任何CSS??
-
我只是复制/粘贴我的问题中有趣的部分,sn-ps 不起作用,因为它错过了网格容器。我在帖子中复制的 HTML 是 ReactJS 的输出。我的主要问题是找到一个 CSS 分解来以与我的屏幕截图中显示的方式相同的方式放置边框。感谢您对我的帖子感兴趣!
-
没有
align-contentflex 容器属性。我猜你的意思是justify-content。