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

如何在Flutter中实现如图所示的申请人列表组件?

申请人卡片组件实现

以下是对应需求的申请人卡片组件的HTML和CSS实现,还原常见的申请者展示卡片样式:

HTML 结构

<div class="applicant-card">
  <div class="applicant-avatar">
    <img src="https://via.placeholder.com/80" alt="申请人头像">
  </div>
  <div class="applicant-info">
    <h3 class="applicant-name">John Doe</h3>
    <p class="applicant-position">前端开发工程师</p>
    <div class="applicant-skills">
      <span class="skill-tag">HTML/CSS</span>
      <span class="skill-tag">JavaScript</span>
      <span class="skill-tag">React</span>
    </div>
  </div>
  <div class="applicant-actions">
    <div class="rating">
      <span class="star filled">★</span>
      <span class="star filled">★</span>
      <span class="star filled">★</span>
      <span class="star filled">★</span>
      <span class="star">☆</span>
      <span class="rating-text">4.0</span>
    </div>
    <button class="action-btn view-btn">查看详情</button>
    <button class="action-btn contact-btn">联系</button>
  </div>
</div>

CSS 样式

/* 基础样式重置 */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: Arial, sans-serif;
}

.applicant-card {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  padding: 1.2rem;
  border: 1px solid #e0e0e0;
  border-radius: 8px;
  max-width: 600px;
  margin: 1rem auto;
  box-shadow: 0 2px 4px rgba(0,0,0,0.05);
  transition: box-shadow 0.3s ease;
}

.applicant-card:hover {
  box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}

.applicant-avatar img {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  object-fit: cover;
}

.applicant-info {
  flex: 1;
}

.applicant-name {
  font-size: 1.2rem;
  font-weight: 600;
  color: #2d3748;
  margin-bottom: 0.3rem;
}

.applicant-position {
  color: #718096;
  margin-bottom: 0.8rem;
}

.applicant-skills {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
}

.skill-tag {
  background-color: #edf2f7;
  color: #4a5568;
  padding: 0.3rem 0.6rem;
  border-radius: 20px;
  font-size: 0.85rem;
}

.applicant-actions {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.8rem;
}

.rating {
  display: flex;
  align-items: center;
  gap: 0.2rem;
}

.star {
  color: #e2e8f0;
  font-size: 1.1rem;
}

.star.filled {
  color: #f6e05e;
}

.rating-text {
  margin-left: 0.3rem;
  color: #718096;
  font-size: 0.9rem;
}

.action-btn {
  padding: 0.6rem 1.2rem;
  border: none;
  border-radius: 6px;
  font-size: 0.9rem;
  cursor: pointer;
  transition: background-color 0.3s ease;
}

.view-btn {
  background-color: #ebf8ff;
  color: #2b6cb0;
}

.view-btn:hover {
  background-color: #bee3f8;
}

.contact-btn {
  background-color: #f0fff4;
  color: #2f855a;
}

.contact-btn:hover {
  background-color: #c6f6d5;
}

/* 响应式适配 */
@media (max-width: 500px) {
  .applicant-card {
    flex-direction: column;
    text-align: center;
  }
  
  .applicant-actions {
    flex-direction: row;
    width: 100%;
    justify-content: center;
  }
}

实现说明

  • 用Flexbox做卡片的横向布局,各个模块对齐规整,看着舒服
  • 卡片拆成三个部分:头像、个人信息、操作按钮,逻辑清晰
  • 技能标签用圆角浅灰背景,能一眼区分开,还能自动换行适配多技能
  • 评分用实心/空心星星展示,再加上数字分,直观明了
  • 两个操作按钮用不同颜色区分功能,鼠标放上去还有颜色变化,交互感拉满
  • 加了移动端适配,屏幕小的时候卡片自动变纵向,手机上看也合适

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 07:27:55