flex为1的元素宽度自适应的同时,文本太长的时候显示省略号

 项目中有一个列表,有复选框列、文件名称列、操作列(操作列无表头)、时间列、大小列。

文件名称列的样式设置为 flex : 1,其他列都有固定的宽度。所以名称列会根据屏幕宽度的大小而自适应,同时文件名字太长的话,需要截断显示省略号,同时文件名称列左边还有一个图标。

下面为样式设置。

.col-name {
  flex: 1;
  min-width: 0;
  display: flex;
  align-items: center;
  text-align: left;
  color: #353738;
  overflow: hidden; /* 新增 */
  .file-icon {
    width: 36px;
    height: 36px;
    margin-right: 5px;
    flex-shrink: 0; /* 防止图标被压缩 */
  }
  .file-name-text {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    flex-grow: 1;
    min-width: 0; /* 允许文本截断 */
    cursor: pointer;
    &:hover {
      color: #1685ef;
      text-decoration: underline;
    }
  }
}
posted @ 2025-05-26 16:07  smil、梵音  阅读(77)  评论(0)    收藏  举报