Downloads Bar

by Cătălin Dogaru

HTML

<div class="downloads-bar">
  <div class="downloads-row">
    <div class="downloads-col-files">
      <ul class="downloads-list">
        <li>
          <button type="button" class="downloads-btn">
            <!-- <span class="download-icon download-icon-progress"></span> -->
            <span class="download-file">Sample-text-file-10kb.txt</span>
          </button>
        </li>
        <li>
          <button type="button" class="downloads-btn">
            <!-- <span class="download-icon download-icon-completed"></span> -->
            <span class="download-file">Sample-text-file-20kb.txt</span>
          </button>
        </li>
        <li>
          <button type="button" class="downloads-btn">
            <!-- <span class="download-icon download-icon-failed"></span> -->
            <span class="download-file">Sample-text-file-50kb.txt</span>
          </button>
        </li>
      </ul>
    </div>
    <div class="downloads-col-actions">
      <ul class="downloads-list">
        <li><button type="button" class="downloads-btn">Show All</button></li>
        <li><button type="button" class="downloads-btn downloads-btn-transparent downlads-btn-close">&times;</button></li>
      </ul>
    </div>
  </div>
</div>

CSS

.downloads-bar {
  background-color: #eee;
  border-top: 1px solid #bbb;
  bottom: 0;
  left: 0;
  position: absolute;
  right: 0;
}

.downloads-row {
  display: flex;
}

.downloads-col-files {
  flex: 1 0;
  overflow: hidden;
  padding: 6px 0 6px 8px;
  position: relative;
  white-space: nowrap;
}

.downloads-col-files:after{
  background-image: linear-gradient(-90deg, #eee 10%, transparent 100%);
  bottom: 0;
  content: '';
  position: absolute;
  right: 0;
  top: 0;
  width: 100px;
}

.downloads-col-actions {
  flex: 0 0;
  padding: 6px 12px 6px 8px;
}

.downloads-list {
  list-style: none;
  margin-bottom: 0;
  margin-top: 0;
  padding-left: 0;
  white-space: nowrap;
}

.downloads-list > li {
  display: inline-block;
}

.downloads-list > li + li {
  margin-left: 3px;
}

.downloads-btn {
  background-position: -1px -1px;
  background-repeat: repeat-x;
  background-size: 110% 110%;
  border-radius: .25em;
  border: 1px solid rgba(27, 31, 35, .2);
  cursor: pointer;
  display: inline-block;
  font-size: 13px;
  line-height: 20px;
  padding: 6px 12px;
  position: relative;
  vertical-align: middle;
  white-space: nowrap;
}

.downloads-btn:hover {
  background-repeat: repeat-x;
  text-decoration: none;
}

.downloads-btn:focus {
  outline: 0;
}

.downloads-btn:disabled,
.downloads-btn.disabled {
  background-position: 0 0;
  cursor: default;
}

.downloads-btn:active,
.downloads-btn.active {
  background-image: none;
}

.downloads-btn {
  background-color: #eff3f6;
  background-image: linear-gradient(-180deg, #fafbfc 0%, #eff3f6 90%);
  color: #24292e;
}

.downloads-btn:hover,
.downloads-btn.hover {
  background-color: #e6ebf1;
  background-image: linear-gradient(-180deg, #f0f3f6 0%, #e6ebf1 90%);
  background-position: -.5em;
  border-color: rgba(27, 31, 35, .35);
}

.downloads-btn:focus,
.downloads-btn.focus {
  box-shadow: 0 0 0 .2em rgba(3, 102, 214, .3);
}

.downloads-btn:active,
.downloads-btn.active {
  background-color: #e9ecef;
  background-image: none;
 ...