Então, eu posso criar um botão de entrada com uma imagem usando
<INPUT type="image" src="/images/Btn.PNG" value="">
Mas não consigo o mesmo comportamento usando CSS. Por exemplo, eu tentei
<INPUT type="image" class="myButton" value="">
onde "myButton" é definido no arquivo CSS como
.myButton {
background:url(/images/Btn.PNG) no-repeat;
cursor:pointer;
width: 200px;
height: 100px;
border: none;
}
Se isso é tudo que eu queria fazer, poderia usar o estilo original, mas quero mudar a aparência do botão ao passar o mouse (usando uma myButton:hover
classe). Sei que os links são bons, porque consegui carregá-los como imagem de plano de fundo para outras partes da página (apenas como verificação). Encontrei exemplos na web de como fazer isso usando JavaScript, mas estou procurando uma solução CSS.
Estou usando o Firefox 3.0.3 se isso faz diferença.
fonte
Você pode usar a
<button>
tag. Para enviar, basta adicionartype="submit"
. Em seguida, use uma imagem de plano de fundo quando desejar que o botão apareça como um gráfico.Igual a:
Mais informações: http://htmldog.com/reference/htmltags/button/
fonte
HTML
CSS
Isso funcionará em qualquer lugar, mesmo no Safari.
fonte
Este artigo sobre substituição de imagem CSS para botões de envio pode ajudar.
"Usando esse método, você obtém uma imagem clicável quando as folhas de estilo estão ativas e um botão padrão quando as folhas de estilo estão desativadas. O truque é aplicar os métodos de substituição da imagem a uma tag de botão e usá-la como botão de envio, em vez de usando a entrada.
E uma vez que as fronteiras dos botões são apagados, é também a mudança recomendável o botão do cursor para a mão em forma utilizada para links, uma vez que este fornece uma dica visual para os usuários ".
O código CSS:
fonte
Aqui está uma solução mais simples, mas sem div adicional:
O CSS usa uma técnica básica de substituição de imagem. Para pontos de bônus, ele mostra usando um sprite de imagem:
Fonte: http://work.arounds.org/issue/21/using-css-sprites-with-input-type-submit-buttons/
fonte
Aqui está o que funcionou para mim no Internet Explorer, uma ligeira modificação na solução por Philoye.
fonte
Você pode usar blank.gif (imagem transparente de 1 px) como destino na sua tag
e depois estilize o plano de fundo em css:
fonte
Uma variação nas respostas anteriores. Eu descobri que a opacidade precisa ser definida, é claro que isso funcionará no IE6 e assim por diante. Houve um problema com a solução de altura da linha no IE8, em que o botão não respondeu. E com isso você obtém um cursor de mão também!
fonte
Eu acho que a seguinte é a melhor solução:
css:
html:
fonte
Minha solução sem js e sem imagens é esta:
* HTML:
* CSS:
fonte
Talvez você também possa importar um arquivo .js e ter a substituição da imagem lá, em JavaScript.
fonte
Vamos supor que você não pode alterar o tipo de entrada ou mesmo o src. Você só tem CSS para brincar.
Se você conhece a altura desejada e possui o URL de uma imagem de plano de fundo que deseja usar, está com sorte.
Defina a altura como zero e a parte superior do estofamento para a altura desejada. Isso afastará a imagem original, dando a você um espaço perfeitamente limpo para mostrar sua imagem de fundo em CSS.
Funciona no Chrome. Não faço ideia se funciona no IE. Quase nada de inteligente faz, então provavelmente não.
fonte