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

如何修复CSS样式,使文件附件布局匹配设计图?

需求:调整CSS匹配目标设计效果

我需要修改CSS样式,让页面设计完全匹配目标效果,当前存在的问题:

  • 白色容器(.item-list)当前占满整个宽度,需要改为并排排列
  • 红色标签(.item-description)需保持在白色容器的底部

当前HTML代码

<div class="row">
  <h4 class="font-form">Documentos adjuntos</h4>
  <div class="item-container">
    <ng-container *ngFor="let item of listDoc">
      <div class="item-list">
        <img src="./assets/img/radicar.svg" alt="" height="40px" />
        <p class="item-text">{{ item.nombreArchivo }}</p>
        <a [href]="item.archivoBase64" target="_blank" mat-button matSuffix mat-icon-button>
          <mat-icon class="icons">visibility</mat-icon>
        </a>
      </div>
      <div class="item-description">Acta</div>
    </ng-container>
  </div>
</div>

当前CSS代码

.item-container {
  background-color: #f4f5f8;
  border-radius: 12px; 
}

.item-list {
  display: flex;
  align-items: center;
  background-color: #FFFFFF;
  padding: 5px 5px 5px 10px;
  border-radius: 5px 5px 5px 0px; 
}

.item-text {
  margin: 0px 30px 0px 15px;
}

.item-description {
  background-color: #BC293E;
  color: #FFFFFF;
  padding: 5px;
  margin-bottom: 10px;
  border-radius: 0px 0px 4px 4px; 
}

解决方案

1. 调整HTML结构

将每个文档的.item-list和.item-description包裹在同一个容器中,确保标签始终位于容器底部:

<div class="row">
  <h4 class="font-form">Documentos adjuntos</h4>
  <div class="item-container">
    <ng-container *ngFor="let item of listDoc">
      <!-- 新增包裹容器 -->
      <div class="document-item">
        <div class="item-list">
          <img src="./assets/img/radicar.svg" alt="" height="40px" />
          <p class="item-text">{{ item.nombreArchivo }}</p>
          <a [href]="item.archivoBase64" target="_blank" mat-button matSuffix mat-icon-button>
            <mat-icon class="icons">visibility</mat-icon>
          </a>
        </div>
        <div class="item-description">Acta</div>
      </div>
    </ng-container>
  </div>
</div>

2. 修改CSS样式

通过弹性布局实现并排,同时优化圆角、间距和文本溢出处理:

.item-container {
  background-color: #f4f5f8;
  border-radius: 12px;
  padding: 15px; /* 增加内边距匹配目标效果 */
  display: flex; /* 开启弹性布局实现并排 */
  gap: 15px; /* 控制文档项之间的间距 */
  flex-wrap: wrap; /* 超出宽度自动换行 */
}

/* 文档项包裹容器 */
.document-item {
  flex: 0 0 auto; /* 不拉伸,保持自身宽度 */
  max-width: calc(33.333% - 10px); /* 可选:每行显示3个,可根据需求调整 */
}

.item-list {
  display: flex;
  align-items: center;
  background-color: #FFFFFF;
  padding: 5px 5px 5px 10px;
  border-radius: 5px 5px 0 0; /* 调整圆角,与下方标签衔接 */
  white-space: nowrap; /* 防止文件名换行 */
  overflow: hidden;
  text-overflow: ellipsis; /* 文件名过长时显示省略号 */
}

.item-text {
  margin: 0 30px 0 15px;
  flex: 1; /* 让文件名占据剩余空间 */
}

.item-description {
  background-color: #BC293E;
  color: #FFFFFF;
  padding: 5px 10px;
  border-radius: 0 0 5px 5px; /* 圆角与上方容器匹配 */
  font-size: 0.875rem;
}

关键调整说明

  • 新增.document-item确保红色标签始终对应白色容器的底部
  • 弹性布局实现文档项并排,flex-wrap保证响应式换行
  • 统一圆角样式,让白色容器和红色标签形成完整的圆角卡片
  • 添加文本溢出处理,避免长文件名破坏布局

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 18:45:47