使用网格布局隐藏CSS溢出

使用网格布局隐藏CSS溢出,css,grid,Css,Grid,Stackblitz演示- 如何添加行间距,以提供*ngFor循环中每个“装箱”元素之间的间距 我不想使用边距顶部,因为这将在第一个“已装箱”元素的顶部添加额外的填充(最后一个“已装箱”元素的边距底部也是如此) 我试图将一个display:grid添加到'wrapper'div,但是overflow:hidden被“忽略” .box{ 边框:1vw实心; 填充物:3vw; } .标签{ 空白:nowrap; 溢出:隐藏; 字体大小:5vw; } 用户输入的一些长得离谱的文本 如果要在.ico

Stackblitz演示-

如何添加
行间距
,以提供
*ngFor
循环中每个“装箱”元素之间的间距

我不想使用边距顶部,因为这将在第一个“已装箱”元素的顶部添加额外的填充(最后一个“已装箱”元素的边距底部也是如此)

我试图将一个
display:grid
添加到'wrapper'
div
,但是
overflow:hidden
被“忽略”

.box{
边框:1vw实心;
填充物:3vw;
}
.标签{
空白:nowrap;
溢出:隐藏;
字体大小:5vw;
}

用户输入的一些长得离谱的文本

如果要在.ico和LabelContainer之间留出间隙,则需要将网格应用于内容容器

然后,它只是将行间距添加到父容器中

  requireddocumentsname {
    font-family: var(--pcwidefontnormal2);
    font-size: 5vw;
    white-space: nowrap;
    color: var(--pcblue);
}

.iconandlabelcontainer{
    height: min-content;
    border: .1vw solid blue;
    font-size: 5vw;
    white-space: nowrap;
    overflow: hidden;
    padding: 3vw;
  
}

.iconandlabel{
    white-space: nowrap;
    display: grid;
    grid-template-rows: 1fr;
    align-items: center;
    width: 400px;
   
}

.content{
    padding: 3vw;
    display: grid;
    row-gap: 30px;
    justify-content:center;
    margin: 0;
}

如果使用的是
行间距
,则也要添加
网格模板行

就是

grid-template-rows:auto auto;
row-gap:3vw;
display: grid;
grid-template-columns:auto auto;
column-gap:3vw;
display: grid;
同样地

如果您使用的是
列间距
,则还要添加
网格模板行

就是

grid-template-rows:auto auto;
row-gap:3vw;
display: grid;
grid-template-columns:auto auto;
column-gap:3vw;
display: grid;
这将是一个成功的例子

.content[_ngcontent-oux-c40] {
    padding: 3vw;
    grid-template-rows: auto auto;
    row-gap: 3vw;
    display: grid;
}
结果:

整个截图


网格可能是最好的方式,但仅供参考,您可以通过以下方式解决您描述的利润问题:

.box{
  border: .1vw solid;
  padding: 3vw;
  margin-top: 3vw;
}

.box:first-child {
  margin-top: 0;
}

类似地,您可以使用
:last child
伪代码将最后一个框从
边距底部
设置中排除。

如果您这样做,这就是我的问题,我在问题中创建了一个Stackblitz来演示。如果你将
display:grid
添加到内容中,它就不起作用了。嗯,我试图将CSS添加到stackblitz中,但我不喜欢它,而且还更新了stackblitz,使其更简单,我只想指出“content”是父div。我不知道我到底是怎么做的,你介意把它分叉并添加你的目标吗?这里是代码片段,对不起…我只是错过了将它保存到url…我尝试了类似的方法,但如果你注意到右边的填充现在被不尊重了,那就太糟糕了。这已经困扰了我好几个小时了。天啊,那是11年前的事了,仍然没有更好的解决办法。我甚至尝试过在第二个
div
中包装它,但由于某种原因,这会导致框再次离开视口。我尝试了所有CSS技巧,但没有使用伪类或边距上/下。我一无所获。你能尝试一下吗?我创建了一个可编辑的stackblitz,可以使用,但不起作用。对于这个简单的示例,网格模板行绝对没有影响,因为我使用的是“默认”网格模板行结构,这是为网格中的每个元素重复并创建新行。对,间隙得到了尊重,但长方体的其余部分现在离开了视口,我不希望长方体在添加显示网格后拉伸。是否希望每个长方体元素都有间隙,然后将样式添加到
.container[\u ngcontent-mhn-c40]
我希望框保持不变,并且每个框之间只有空格。您需要将代码直接放入您的帖子中,以便人们可以从这里运行它。编辑帖子并点击Ctrl-M,你应该清楚该怎么做。我不知道这是一个选项。谢谢,没问题。几年前,一旦他们将其付诸实施,它就很快变得非常流行。这对我们大家来说都很容易。