Here is an example using inline-block (it could be shorterer achieved with table/table-cell):
ul , body{
margin: 0;
padding: 0;
}
img {width: 100%;}
ul {
width: 100%;
font-size: 0;}
ul:before {
content: '';
display: inline-block;
padding-top: 5%;
vertical-align: top;
}
li {
display: inline-block;
vertical-align: top;
text-align: center;
background-size: auto 100%;
background: url(http://i.stack.imgur.com/2xDHJ.png);
}
li:before {
content: '';
display: inline-block;
vertical-align: middle;
}
li a {
display: inline-block;
font-size: 32px;
font-size: 2rem;
vertical-align: middle;
line-height: 5vw;
height: 5vw;
width: 8vw;
/* To show them for tst */
color: turquoise;
text-shadow: 0 0 0.5em lime;
}
#sp1 {
width:9%;
background-size: auto 100%;
}
#sp1:before {
padding-top: 59%;
}
#sp2 {
width: 15%;
background-size: auto 100%;
background-position: 10.5% 0;
}
#sp2:before {
padding-top: 35%;
}
#sp3 {
width:17%;
background-size: auto 100%;
background-position: 29% 0;
}
#sp3:before {
padding-top: 31%;
}
#sp4 {
width: 15%;
background-size: auto 100%;
background-position: 48% 0;
}
#sp4:before {
padding-top: 35%;
}
#sp5 {
width: 19%;
background-size: auto 100%;
background-position: 69% 0;
}
#sp5:before {
padding-top: 28%;
}
#sp6 {
width: 14%;
background-size: auto 100%;
background-position: 88% 0;
}
#sp6:before {
padding-top: 38%;
}
#sp7 {
width:11%;
background-size: auto 100%;
background-position: 100% 0;
}
#sp7:before {
padding-top: 48%;
}
See and play with result here :) - http://codepen.io/gc-nomade/pen/Hezro