gpt4 book ai didi

css - 我可以选择 css 网格中的最后一列吗?

转载 作者:行者123 更新时间:2023-12-05 04:54:14 26 4
gpt4 key购买 nike

我有一个无序列表显示网格,我在网格中每个元素的右侧放置了一个边框。


ul{
display: grid;
grid-template-columns: repeat(8,1fr);
grid-row-gap: 20px;
grid-column-gap: 18px;
}

每个元素可以有不同的宽度,因此一行可能有 4 个元素,而另一行可能有 3 个。


li{
list-style: none;
grid-column: span 2;
margin-right: 0;
height: 200px;
padding-right: 0;
position: relative;
&:after{
content: '';
position: absolute;
right: -10px;
background-color: #7c7c7c;
width: 1px;
height: 100%;
}
}

.wide-item{
grid-column: span 4;
}

我想删除右侧元素的边框。我已经尝试过 :nth-last-child 但由于列可以更改,所以我无法以这种方式进行数学运算。

下面是完整的工作代码:

body {
margin: 0;
}

.container {
background-color: darkgrey;
min-height: 100vh;
padding: 0;
margin: 0;
display: flex;
align-items: center;
}

ul {
display: grid;
grid-template-columns: repeat(8, 1fr);
grid-row-gap: 20px;
grid-column-gap: 18px;
width: 50%;
margin: 0 auto;
}
ul :nth-last-child(4n+1) {
background-color: teal;
}

li {
list-style: none;
grid-column: span 2;
margin-right: 0;
height: 200px;
padding-right: 0;
position: relative;
}
li:after {
content: "";
position: absolute;
right: -10px;
background-color: #7c7c7c;
width: 1px;
height: 100%;
}

.wide-item {
grid-column: span 4;
}

.post {
border-top: 2px solid #000;
margin-right: 0;
}
<div class="container">
<ul>
<li><div class="post">Item 2</div></li>
<li><div class="post">Item 3</div></li>
<li class="wide-item"><div class="post">Item 4</div></li>
<li><div class="post">Item 5</div></li>
<li><div class="post">Item 6</div></li>
<li><div class="post">Item 7</div></li>
<li><div class="post">Item 8</div></li>
<li><div class="post">Item 9</div></li>
<li><div class="post">Item 10</div></li>
</ul>
</div>

最佳答案

通过在左侧之前添加一个边框来做不同的事情,您可以使用 overflow:hidden

隐藏它

body {
margin: 0;
}

.container {
background-color: darkgrey;
min-height: 100vh;
padding: 0;
margin: 0;
display: flex;
align-items: center;
}

ul {
display: grid;
grid-template-columns: repeat(8, 1fr);
grid-row-gap: 20px;
grid-column-gap: 18px;
width: 50%;
margin: 0 auto;
padding:0;
overflow:hidden; /* added */
}

ul :nth-last-child(4n+1) {
background-color: teal;
}

li {
list-style: none;
grid-column: span 2;
margin-right: 0;
height: 200px;
padding-right: 0;
position: relative;
}

li:after {
content: '';
position: absolute;
left: -10px; /* changed */
background-color: #7c7c7c;
width: 1px;
height: 100%;
}

.wide-item {
grid-column: span 4;
}

.post {
border-top: 2px solid #000;
margin-right: 0;
}
<div class="container">
<ul>
<li>
<div class="post">Item 2</div>
</li>
<li>
<div class="post">Item 3</div>
</li>
<li class="wide-item">
<div class="post">Item 4</div>
</li>
<li>
<div class="post">Item 5</div>
</li>
<li>
<div class="post">Item 6</div>
</li>
<li>
<div class="post">Item 7</div>
</li>
<li>
<div class="post">Item 8</div>
</li>
<li>
<div class="post">Item 9</div>
</li>
<li>
<div class="post">Item 10</div>
</li>
</ul>
</div>

关于css - 我可以选择 css 网格中的最后一列吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65819217/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com