I was trying to achieve this kind of UI when I tried implementing the Tic-tac-toe game (I know it looks easy to some XD)
The challenge was how to properly select the first and last column, as well as the first and last row. I seriously did not want to manually remove the borders of the eight cells.
The data structure of my tic-tac-toe grid is not two-dimensional, but one, so I can easily do the tricks below. Think of my counting as this :
0 | 1 | 2
3 | 4 | 5
6 | 7 | 8
For the first row, the top border should be removed, thus:
.board-item:nth-child(-n + 3) {
border-top: none;
}
For the last column,
.board div:nth-child(3n) {
border-right: none;
}
For the first column,
.board-item:nth-child(3n - 2) {
border-left: none;
}
For the last row,
.board-item:nth-child(n + 7) {
border-bottom: none;
}
And that is it. Thanks for reading. Check my tic-tac-toe game here.
Top comments (3)
in such situation better consider outline combined with overflow and you don't have to deal with any complex selector: jsfiddle.net/bvjkn9se/ .. it's also scalable: jsfiddle.net/bvjkn9se/1/
Thank you for this Temani!
Nice game :)