У меня есть большой div, который охватывает весь экран, я использую фоновое изображение на этом div, но теперь я хочу сделать эту часть изображения спрайта, поэтому у меня меньше запросов HTTP. Проблема в том, что я не знаю, как заставить div использовать только часть спрайта, а не показывать все изображение, например:
div{
width: 100%;
height: 100%;
background: rgba(52, 52, 52, .5);
position: fixed;
background-image: url('http://i.imgur.com/S7v0Xyn.png');
}
Мне просто нужно использовать небольшую сетку, которую вы едва можете увидеть на изображении спрайта, а не весь образ, и я также хочу, чтобы сетка повторялась по всему div.
Карамба избил меня, поэтому я включил JSFiddle, чтобы показать другое использование для этого.
HTML:
<ul id="nav">
<li><a class="facebook" href="#"></a>Facebook</li>
<li><a class="twitter" href="#"></a>Twitter</li>
<li><a class="browsers" href="#"></a>Browsers</li>
</ul>
CSS:
#nav {
width: 200px;
}
#nav li {
list-style-type: none;
font-size: 14px;
font-family: "Courier", sans-serif;
padding: 10px;
}
#nav li a {
background-image: url('http://i.imgur.com/S7v0Xyn.png');
background-repeat: no-repeat;
display: block;
}
#nav li a.facebook {
background-position: 0px 0px;
width: 30px;
height: 30px;
}
#nav li a.twitter {
background-position: -33px 0px;
width: 30px;
height: 30px;
}
#nav li a.browsers {
background-position: 0px -40px;
width: 65px;
height: 17px;
}
попробуйте вот так:
<span class="icon facebook"></span>
<span class="icon twitter"></span>
.icon {
background-image: url('http://i.imgur.com/S7v0Xyn.png');
background-position:3000px 3000px;
}
.icon.facebook {
border:2px solid green; /* you don't need this*/
margin:20px; /* you don't need this*/
background-position:0px 0px;
width:30px;
height:30px;
display:inline-block;
}
.icon.twitter {
border:2px solid orange;
background-position:-32px 0px;
width:30px;
height:30px;
display:inline-block;
}