Прогрессбар загрузки файлов
Компактный прогресс на строку файла: слева имя (обрезается многоточием), в середине тонкая шкала с бирюзово-синим градиентом, справа проценты и крестик отмены. Занимает мало места, читается быстро, легко ставится в стек. Использую в модалках загрузки и в drag-and-drop зонах.
Показать HTML
<div class="upload">
<div class="upload-row">
<span class="upload-name">имя-файла.pdf</span>
<div class="upload-bar"><div class="upload-bar-fill" style="width:32%"></div></div>
<span class="upload-pct">32%</span>
<button class="upload-cancel">×</button>
</div>
</div>
Показать CSS
.upload{ padding:8px 10px; border:1px solid #e2e8f0;
border-radius:10px; background:#fff; }
.upload-row{ display:flex; align-items:center; gap:10px; font-size:13px; }
.upload-name{ flex:0 1 auto; min-width:0; max-width:38%; overflow:hidden;
text-overflow:ellipsis; white-space:nowrap; font-weight:600; }
.upload-bar{ flex:1 1 auto; height:8px; background:#e5e7eb;
border-radius:4px; overflow:hidden; }
.upload-bar-fill{ height:100%; transition:width .12s ease-out;
background:linear-gradient(90deg, #0ABAB5, #2563eb); }
.upload-pct{ flex:0 0 auto; min-width:34px; text-align:right;
font-variant-numeric:tabular-nums; font-weight:600; font-size:12px; }
.upload-cancel{ flex:0 0 auto; width:22px; height:22px;
background:transparent; border:0; color:#94a3b8;
font-size:16px; line-height:1; cursor:pointer; border-radius:4px; }
.upload-cancel:hover{ color:#dc2626; background:#fef2f2; }