如果文本比容器长,如何使文本换行

How to make text break into new line if it's longer than container

我在一张离子卡上有一行文字,每次的长度都不一样。 我需要能够判断文本何时到达卡片的末尾(在 ios 和 android 上 - 可以有一个更小的屏幕)所以我可以将它分成一个新行。

这是卡片的样子:

<ion-card>
       <ion-item>

          <p><i>On:</i><span id="showName">{{event.showName}}</span></p>

            <p><i>At:</i><span id="venueName">{{event.venue}}</span></p>

        </ion-item> 
<ion-card>

更新 我尝试了第一个答案建议并将中断词溢出换行添加到 css 但它没有用。我仍然需要帮助。

#showName{
    display: inline;
    overflow-wrap: break-word;
    font-size:  2rem; 
    font-weight: 800;
    word-spacing: -2px

    }

也许你应该使用 css,用于显示目的:

https://developer.mozilla.org/en-US/docs/Web/CSS/overflow-wrap

overflow-wrap: break-word;

您的内容将自动打包成 ion-label。此元素默认 css 为:white-space: nowrap。您需要覆盖它:

.label{
    white-space: normal !important;
}

Ionic 有一个 CSS 实用程序 text-wraphttps://ionicframework.com/docs/theming/css-utilities/

因此:

<ion-card>
  <ion-item>
    <p text-wrap><i>On:</i><span id="showName">{{event.showName}}</span></p>
    <p text-wrap><i>At:</i><span id="venueName">{{event.venue}}</span></p>
  </ion-item> 
<ion-card>
<ion-grid>
  <ion-row>
    <ion-col col-12>
      <ion-item>
        <p><i>On:</i><span id="showName">{{event.showName}}</span></p>
        <p><i>At:</i><span id="venueName">{{event.venue}}</span></p>
      </ion-item>
    </ion-col>
  </ion-row>
</ion-grid>

在"ion-card"标签内,放入这段代码并尝试运行。它会将您的文本限制在该特定区域。