Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Картинка как кнопка (https://javascript.ru/forum/misc/30034-kartinka-kak-knopka.html)

Aetae 21.07.2012 23:01

Цитата:

Сообщение от Deff (Сообщение 190625)
<style type="text/css">
#MyKnop {
 background:url(http://s1.uploads.ru/i/EFYyv.png) 0 100% no-repeat;
 width:91px;
 height:22px;
}
#MyKnop:hover {
 background-position: 0 0;
}
a.wrp[href="#"] #MyKnop{
  background-position: 0 0!important;
}
</style>
<a class="wrp" href="" onclick="this.href='#';return false"><img id="MyKnop" src="http://forum.mybb.ru/i/blank.gif"/></a>

Не понял, а в чём понт?
Всё также ie8+, только добавлен javascript, лишний элемент, и лишняя картинка.

Deff 21.07.2012 23:12

Цитата:

Сообщение от Aetae
Не понял, а в чём понт?

фокус теряется - кнопка отклеивается
лишний элемент, - убрал

Aetae 21.07.2012 23:31

Цитата:

Сообщение от Deff (Сообщение 190633)
фокус теряется - кнопка отклеивается
лишний элемент, - убрал

Ну тут уж без опа непоймёшь какое именно поведение ему нужно было на самом деле.) Каждое поведение по-своему логично и зависит от того что изображает картинка.
И если уж использовать javascript, то не вижу никаого смысла в применении некросбраузерного селектора аттрибутов вместо обычного класса, как, впрочем, не вижу смысла и в использовании пустого изображения(загрузка кторого тоже слегка тормозит загрузкy остального контента):
<style type="text/css">
#button {
	background:url(http://s1.uploads.ru/i/EFYyv.png) 0 100% no-repeat;
	width:91px;
	height:22px;
    border:0;
}
#button:hover , #button.pressed{
	background-position: left top;
}
</style>
<input type="button" id="button" onclick="this.className='pressed'"/>



P.S. Я вообще считаю, что ему достатчно было моего первого варианте.)

Deff 21.07.2012 23:39

Aetae,
Имхо я так понял - что ему нужна кнопка картинкой
Хотя тады Ваш последний вариант с <input type="image" - подойдет

У button стиль нун чистить от бордеров

ruslan_mart 25.07.2012 13:36

Лучше делать грамотней :) Обе картинки совместить в одну и менять позицию через hover, например:

<table class="myimage"><th/></table>

.myimage {width:50; height:20; background-image:url('ссылка');}
.myimage:hover {background-position:50;}

Aetae 25.07.2012 16:19

Цитата:

Сообщение от Ruslan_xDD (Сообщение 191526)
Лучше делать грамотней :) Обе картинки совместить в одну и менять позицию через hover, например:

<table class="myimage"><th/></table>

.myimage {width:50; height:20; background-image:url('ссылка');}
.myimage:hover {background-position:50;}

http://javascript.ru/forum/190611-post6.html

ruslan_mart 25.07.2012 16:54

Aetae, извиняюсь, не разглядывал все посты. :)

NekPoMaHt 22.02.2015 19:05

Сталкнулся с проблемой. Есть две кнопки из двойной картинки, всё как бы замечательно и прочее, но только тогда, когда кнопки вставляю по отдельности. А когда кставляю две сразу, то происходит следущее: обе кнопки показывают мне картинку №2. Что именно нужно изменить в коде? :-)

<style type="text/css">
#MyKnop {
background:url(адрес кнопки-картинки №1) 0 100% no-repeat;
width:427px;
height:66px;
border:0;
}
#MyKnop:hover {
background-position: 0 0;
}
a.wrp[href="#"] #MyKnop{
background-position: 0 0!important;
}
</style>
<a href="адрес страницы №1" class="button" title="описание при наведении на кнопку-картинку №1"><img id="MyKnop"/></a>


<style type="text/css">
#MyKnop {
background:url(адрес кнопки-картинки №2) 0 100% no-repeat;
width:427px;
height:66px;
border:0;
}
#MyKnop:hover {
background-position: 0 0;
}
a.wrp[href="#"] #MyKnop{
background-position: 0 0!important;
}
</style>
<a href="адрес страницы №2" class="button" title="описание при наведении на кнопку-картинку №2"><img id="MyKnop"/></a>

рони 22.02.2015 20:02

NekPoMaHt,
id уникально не повторяется в нормальной странице

NekPoMaHt 22.02.2015 20:11

Спасибо, уже разобрался :)


Часовой пояс GMT +3, время: 15:22.