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 {
...