Замена кнопки <input>
с <img>
тега не является хорошей идеей, поскольку она нарушает принцип progressive enhancement: вы должны держать свой сайт как можно более доступным, в то время как enhansing его capabilites, когда браузер позволяет.
В вашем случае, есть чистый CSS решение превратить классическую <input type=submit>
кнопку в изображение:
input {
/* sizing the button */
width: 10em;
height: 10em;
/* disabling the system look */
appearance: none;
-webkit-appearance: none;
/* resetting default browser styler */
border: 0;
margin: 0;
padding: 0;
/* hiding button label */
text-indent: -9999px;
/* applying the image */
background: url('http://i.imgur.com/1x8TMLt.jpg') no-repeat transparent;
background-size: 100% 100%; /* stretching */
/* letting users know it's clickable */
cursor: pointer;
}
Когда CSS недоступен по какой-то причине, то кнопка будет отображаться в виде кнопки с текстовой меткой , Когда CSS доступен, кнопка будет отображаться как изображение заданного размера, yay!
Демо: http://jsbin.com/okasut/1/edit
Конечно, вы должны использовать некоторые семантические селектор.
Это отлично работает, однако есть ли способ изменить размеры этого? Он по-прежнему делает кнопку «размер кнопки» с фоном изображения, которое я хочу использовать. – Blackdragon1400
@ Blackdragon1400 - Добавьте атрибут 'width =" x "height =" x "' к тегу, чтобы он соответствовал вашему размеру изображения. Я думаю, вы можете сделать это так: image_submit_tag (source,: size => "{width} x {height}") '. –
Ваш код должен работать, но изображение по-прежнему не меняется. Он работает на сервере rails, поэтому он синтаксически корректен, и я проверил его, поэтому я не уверен, в чем проблема. – Blackdragon1400