I used three layers. One main container, wrappers and inner content divs.
The counter is tied to wrappers as their :before element.
jsFiddle is here: jsShizzle
HTML.
<div class="main">
<div class="wrapper">
<div class="content">
<img src="http://lorempixel.com/160/60">
</div>
</div>
<div class="wrapper">
<div class="content">
<img src="http://lorempixel.com/160/60">
</div>
</div>
<div class="wrapper">
<div class="content">
<img src="http://lorempixel.com/160/60">
</div>
</div>
<div class="wrapper">
<div class="content">
<img src="http://lorempixel.com/160/60">
</div>
</div>
</div>
and CSS.
..with which you may want to fiddle a bit more is here. It's right off the top of my head and there may be some unnecessary rules.
.main {
overflow: visible;
background: rgba(0, 0, 0, 0.2);
counter-reset:el-list;
overflow:hidden;
height: 80px;
}
.wrapper {
counter-increment: el-list;
float:left;
position: relative;
margin: 10px;
}
.wrapper:before {
display: block;
position: absolute;
top: 0;
left: 0;
max-width: 50px;
padding-left: 10px;
font-size: 82px;
color: #fff;
content: counters(el-list, "")". ";
}
.wrapper:hover:before {
color: #000;
}
.content {
display: inline-block;
opacity: 0.8;
height: 60px;
background:#333;
margin-left: 30px;
}
.content:hover {
opacity: 0.4;
}