JSFiddle - React, Tailwind, and code Playground

by cvalleskey

HTML

<ul class="list">
<li>
    <span class="number">1</span>
    <span class="actions">
        Actions
    </span>
    <span class="duration">3:30</span>
    <span class="meta">
        <span class="name"><a href="#">This opera's as lousy as it is brilliant!  Your lyrics lack subtlety.</a></span>
            <span class="details"><a href="#">Artist Name</a> - <a href="#">Album Name</a></span>
    </span>
</li>
<li>
    <span class="number">2</span>
    <span class="actions">
        Actions
    </span>
    <span class="duration">3:30</span>
    <span class="meta">
        <span class="name"><a href="#">Track Name</a></span>
        <span class="details"><a href="#">Artist Name</a> - <a href="#">Album Name</a></span>
    </span>
</li>
<li>
    <span class="number">3</span>
    <span class="actions">
        Actions
    </span>
    <span class="duration">3:30</span>
    <span class="meta">
        <span class="name"><a href="#">This opera's as lousy as it is brilliant!  Your lyrics lack subtlety.</a></span>
            <span class="details"><a href="#">Artist Name</a> - <a href="#">Album Name</a></span>
    </span>
</li>
<li>
    <span class="number">4</span>
    <span class="actions">
        Actions
    </span>
    <span class="duration">3:30</span>
    <span class="meta">
        <span class="name"><a href="#">Track Name</a></span>
        <span class="details"><a href="#">Artist Name</a> - <a href="#">Album Name</a></span>
    </span>
</li>
<li>
    <span class="number">5</span>
    <span class="actions">
        Actions
    </span>
    <span class="duration">3:30</span>
    <span class="meta">
        <span class="name"><a href="#">This opera's as lousy as it is brilliant!  Your lyrics lack subtlety.</a></span>
            <span class="details"><a href="#">Artist Name</a> - <a href="#">Album Name</a></span>
    </span>
</li>
<li>
    <span class="number">6</span>
    <span class="actions">
        Actions
    </span>
    <span class="duration">3:30</span>
   ...

SCSS

body {
    padding: 30px;
    font: 13px Helvetica Neue, serif;
    line-height: 20px;
    background: #F9FBFD;
}

* {
    box-sizing: border-box;
}

.list {
    background: #FFF;
    border: 1px solid #DDD;
    box-shadow: 0 1px 3px rgba(0,0,64,0.075);
    color: #999;
    font-size: 12px;
    overflow: hidden;
    margin-bottom: 20px;
    li {        
        padding: 9px;
        &:hover {
            background-color: #FFFDF8;                
        }
    }
    li + li {
        border-top: 1px solid #EEE;
    }
    a {        
        text-decoration: none;
        color: #455;
        &:hover {
            text-decoration: underline;
        }
    }
    .number {
        float: left;
        margin-right: 10px;
        padding: 0 5px;
        color: inherit;
    }
    .meta {
        display: block;
        overflow: hidden;    
        .name, .details {
            float: left;
            width: 50%;
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;        
        }
        .name {
            padding-right: 5px;
            font-size: 13px;
        }
    }
    .actions, .duration {
        float: right;
        margin-left: 10px;
        color: #CCC;
    }
    .duration {
        color: inherit;
        font-size: 11px;
        width: 50px;
        text-align: center;
    }    
}