JSFiddle - React, Tailwind, and code Playground

HTML

<div class="content">

  <div class="cell">
    <div class="box card">
      <div class="top">
        <img class="avatar" src="http://cdn.huguotao.com/icon/apple-touch-icon.png">
        <span class="nickname">sciooga</span>
        <span class="time right">43分钟前</span>
      </div>
    <div class="mid">
      <div class="cover">
        <img class="bg" src="https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1497502107113&di=b95b19d739ff9da8537c1f86e5d518df&imgtype=0&src=http%3A%2F%2Fpic1a.nipic.com%2F2009-02-16%2F2009216203130605_2.jpg">
      </div>
      <div class="play">
        <p class="title">Moby - Extreme Ways</p>
        <img class="btn play-btn" src="/static/img/play.png">
        <div class="player">
          <span class="time">00:00/00:00</span>
          <span class="process-content"><span class="process" style="width: 20%"></span></span>
        </div>
      </div>
    </div>
    <div class="bottom">
      <span>播放125次</span>
      <span class="right">更多</span>
      <span class="right">分享</span>
      <span class="right">评论99</span>
      <span class="right">
        <img src="/static/img/thumsup.png" class="btn thumsup"> 99
      </span>
    </div>
    <div class="record-btn">我要录音</div>
    <div class="comments action">
      <div class="comment">
        <input class="comment-ipt"/><span class="comment-btn right">发表评论</span>
        </div>
        <div class="comment-item"></div>
      </div>
    </div>
  </div>


  <div class="cell">
    <div class="box card">
      <div class="top">
        <img class="avatar" src="http://cdn.huguotao.com/icon/apple-touch-icon.png">
        <span class="nickname">sciooga</span>
        <span class="time right">43分钟前</span>
      </div>
    <div class="mid">
      <div class="cover">
        <img class="bg"...

CSS

* {
    box-sizing: border-box;
    -webkit-overflow-scrolling: touch;
    vertical-align: middle;
}
p {
    margin: 0;
}
html, body {
    background: #f5f5f5;
    padding: 0;
    margin: 0;
}
.content {
    width: 100vw;
    height: calc(100vh - 49px);
    position: relative;
    overflow: auto;
}
.mainBtn {
    width: 100%;
    height: 48px;
    padding: 10px;
}
.mainBtn span {
    float: left;
    text-align: center;
    display: inline-block;
    height: 28px;
    line-height: 28px;
    position: relative;
}
.bottomBtn {
    border-top: 1px solid #d9d9d9;
    background: #f8f8f8;
}
.bottomBtn span {
    width: 33%;
}
.bottomBtn span:nth-child(2) {
    border-left: 1px solid #efefef;
    border-right: 1px solid #efefef;
}

.left {
    float: left;
}

.right {
    float: right;
}

.avatar {
    border-radius: 1000px;
}

.box {
    padding: 8px;
    margin: 8px;
}

.cell {
    border-bottom: 1px solid #e7e7e7;
    width: 100%;
}
.cell:last-child {
    border-bottom: none;
}
.btn {
    display: inline-block;
    height: 22px;
}


/*-------------------------------*/
.card .top>* {
    line-height: 32px;
    height: 32px;
}
.card .top .nickname {
    color: #909090;
}
.card .top .time {
    font-size: 12px;
    color: #b6b6b6;
}

.card .mid {
    margin: 8px 0;
    border-radius: 8px;
    width: calc(100vw - 32px);
    height: 30vw;
    overflow: hidden;
    position: relative;

}
.card .mid .cover {
    position: relative;
}
.card .mid .cover:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,.1);
}
.card .mid .bg {
    min-width: 100%;
    max-width: 120%;
    min-height: 100%;
}
.card .mid .play {
    position: absolute;
    height: 100%;
    width: 100%;
    left: 0;
    top: 0;
    text-align: center;
}
.card .mid .play .title {
    font-size: 18px;
    color: #fff;
    margin-top: 5vw;
    transition: margin .3s;
}
.card .mid .play .play-btn {
   ...