<ion-card-title> 中的文本溢出省略号不起作用 --> Shadow-Dom-Element 不占用父级宽度

Text-overflow ellipsis in <ion-card-title> does not work --> Shadow-Dom-Element does not take parent width

我在 Ionic 4 中的列表页面有问题。 我想显示一些 <ion-card> 元素。 中的文本可能很长(它们来自后端)。我不希望它们换行,而是使用省略号 ("...") - 请参阅下面的屏幕截图。

通常我会在父元素上设置 overflow: hidden,在我想要省略号的元素上设置 white-space: nowrap; text-overflow: ellipsis;。但是由于 web-component-shadow-dom-stuff 这不是开箱即用的,我不明白为什么...

你可以看到,<ion-card-title> 没有占用父级的宽度。 如何操作适合容器并正确设置省略号的文本 "This is a long text. Lorem..."?

HTML

   <ion-card>
    <ion-card-header>
        <div class="card-header-title-wrapper">
            <ion-checkbox></ion-checkbox>
            <ion-card-title>This is a long text. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod
                tempor</ion-card-title>
        </div>
        <ion-card-subtitle text-end>Subtitle</ion-card-subtitle>
    </ion-card-header>
    <ion-card-content>
        Card Content...
    </ion-card-content>
</ion-card>

(简体)CSS

div.card-header-title-wrapper {
  display: flex;
  overflow: hidden;

  ion-checkbox {
    margin-top: 3px;
    margin-right: 12px;
    flex-grow: 0;
    flex-shrink: 0;
  }
}

ion-card-header {
    ion-card-title {
        font-size: 16px;
        white-space: nowrap;
        text-overflow: ellipsis;
    }
}

目前看起来像这样

我希望它看起来像这样

在您的 ion-card-title css 中添加 overflow: hidden;

只是添加 overflow: hidden 似乎不起作用。

根据 csstricks 的说明,元素需要 widthhttps://css-tricks.com/snippets/css/truncate-string-with-ellipsis/

.truncate {
  width: 250px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

添加宽度对我来说是固定的...