You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用CSS实现div仅显示前50个字符,现有溢出隐藏代码不生效怎么解决

问题原因

你写的CSS属性存在覆盖冲突,white-space: nowrap 被后续的white-space: initial覆盖失效,同时没有给容器设置明确的宽度限制,溢出隐藏的逻辑无法触发,所以没有达到截断效果。

实现方案

方案1:CSS实现溢出省略(适合按显示行数截断)

如果需要按视觉展示行数截断,不需要严格限制字符数,直接修改CSS即可:

  • 单行截断CSS:
.review-text {
    font-family: "Poppins", sans-serif;
    font-weight: 400;
    font-size: 15px;
    width: 100%; /* 可根据卡片实际宽度调整为固定值 */
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    .bold {
        font-family: "Poppins", sans-serif;
        font-weight: 700;
    }
}
  • 多行截断CSS(比如限制显示2行):
.review-text {
    font-family: "Poppins", sans-serif;
    font-weight: 400;
    font-size: 15px;
    width: 100%; /* 可根据卡片实际宽度调整为固定值 */
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2; /* 要显示的行数,可自定义 */
    -webkit-box-orient: vertical;
    word-break: break-word;
    .bold {
        font-family: "Poppins", sans-serif;
        font-weight: 700;
    }
}

方案2:JS字符串截断(适合严格控制50个字符)

如果需要精准限制为前50个字符,直接修改JSX渲染逻辑即可,还可以额外加title属性实现鼠标悬浮展示完整内容:

<p 
  className="review-text" 
  title={currentLoanRequest.loanProposalDetails.addLoanClause || "None"}
>
  <span className="bold">Optional Clause:</span>{" "}
  {currentLoanRequest.loanProposalDetails.addLoanClause.length > 0 ? (
    currentLoanRequest.loanProposalDetails.addLoanClause.length > 50 
      ? `${currentLoanRequest.loanProposalDetails.addLoanClause.slice(0, 50)}...`
      : currentLoanRequest.loanProposalDetails.addLoanClause
  ) : "None"}
</p>

这个方案不需要调整原有CSS,适配性更强。

内容的提问来源于stack exchange,提问作者Nhan Nguyen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 15:09:03