У меня есть значок почты, прозрачный файл png. Файл имеет ширину = 50px & height = 50px, но только центральная часть получила почтовую картинку. Центральная часть имеет ширину = 25px & height = 25px (http://i.stack.imgur.com/aGRVp.png).
Я хочу, чтобы, когда пользователь просматривал почту, фон центральной части превратился в Orange. В этот момент, когда мышь над всем фоном стала оранжевой, как эта картина (http://i.stack.imgur.com/RgnEX.png). Это не хорошо.
Pls см. Http://jsfiddle.net/ZDY55/.
в html
<img src="http://i.stack.imgur.com/aGRVp.png" alt="close" title="message" width="25px" height="25px" class="{style.mailIcon}" />
В Css
.mailIcon:hover {
background: 10px 25px orange;
background-repeat:no-repeat;
background-position:center;
}
Итак, как сделать центральную часть только оранжевым цветом, не все изображение?.
Вы должны рассмотреть возможность создания двух разных изображений: одного нормального и одного с фоном, который вы хотите. Другим вариантом будет контейнерный div (это не очень хорошая идея для меня, но это сработает)
<div id="container">
<img src="http://i.stack.imgur.com/aGRVp.png" alt="close" title="Close message" width="25px" height="25px"
background="orange" />
</div>
#container{
margin-top:8px;
}
#container:hover{
width:25px;
height:16px;
background-color:orange;
}
#container img{
margin-top:-8px;
}
Третий вариант, возьмите все свободное пространство над вашим изображением. С обрезанным изображением вы можете использовать это.
<img src="http://i.imgur.com/aLkrqSn.png" title="Hosted by imgur.com" />
img{
margin-top:8px;
width:25px;
}
img:hover{
background-color:orange;
}
Попробуй это:
HTML
<div class="mailIcon">
<img src="http://i.stack.imgur.com/aGRVp.png" alt="close" title="Close message" width="25px" height="25px" background="orange"/>
</div>
CSS
.mailIcon:hover {
background-color:orange;
display:inline-block;
}
.mailIcon img {
margin:-12px 0 -7px;
}
Вы можете добавить другую необходимую настройку
В принципе у вас есть два варианта:
Я лично рекомендую первый вариант, потому что это естественное решение, и вам не нужны лишние элементы в вашей разметке.