Entonces, puedo crear un botón de entrada con una imagen usando
<INPUT type="image" src="/images/Btn.PNG" value="">
Pero no puedo obtener el mismo comportamiento usando CSS. Por ejemplo, he intentado
<INPUT type="image" class="myButton" value="">
donde "myButton" se define en el archivo CSS como
.myButton {
background:url(/images/Btn.PNG) no-repeat;
cursor:pointer;
width: 200px;
height: 100px;
border: none;
}
Si eso es todo lo que quería hacer, podría usar el estilo original, pero quiero cambiar la apariencia del botón al pasar el mouse (usando una myButton:hover
clase). Sé que los enlaces son buenos, porque he podido cargarlos para una imagen de fondo para otras partes de la página (solo como un cheque). Encontré ejemplos en la web de cómo hacerlo usando JavaScript, pero estoy buscando una solución CSS.
Estoy usando Firefox 3.0.3 si eso hace la diferencia.
fuente
Puedes usar la
<button>
etiqueta. Para un envío, simplemente agreguetype="submit"
. Luego use una imagen de fondo cuando desee que el botón aparezca como un gráfico.Al igual que:
Más información: http://htmldog.com/reference/htmltags/button/
fuente
HTML
CSS
Esto funcionará en cualquier lugar, incluso en Safari.
fuente
Este artículo sobre el reemplazo de imágenes CSS para los botones de envío podría ayudar.
"Con este método, obtendrá una imagen en la que se puede hacer clic cuando las hojas de estilo estén activas y un botón estándar cuando las hojas de estilo estén desactivadas. El truco consiste en aplicar los métodos de reemplazo de imagen a una etiqueta de botón y usarlo como botón de envío, en lugar de usando la entrada.
Y dado que los bordes de los botones se borran, también es recomendable cambiar el cursor del botón a uno en forma de mano que se utiliza para los enlaces, ya que esto proporciona una sugerencia visual para los usuarios ".
El código CSS:
fuente
Aquí hay una solución más simple pero sin un div circundante adicional:
El CSS utiliza una técnica básica de reemplazo de imágenes. Para puntos de bonificación, se muestra usando un sprite de imagen:
Fuente: http://work.arounds.org/issue/21/using-css-sprites-with-input-type-submit-buttons/
fuente
Esto es lo que funcionó para mí en Internet Explorer, una ligera modificación a la solución de Philoye.
fuente
Puede usar blank.gif (imagen transparente de 1 px) como objetivo en su etiqueta
y luego estilo de fondo en css:
fuente
Una variación de las respuestas anteriores. Descubrí que es necesario establecer la opacidad, por supuesto, esto funcionará en IE6 y en adelante. Hubo un problema con la solución de altura de línea en IE8 donde el botón no respondía. ¡Y con esto también obtienes un cursor de mano!
fuente
Creo que la siguiente es la mejor solución:
css:
html:
fuente
Mi solución sin js y sin imágenes es esta:
* HTML:
* CSS:
fuente
Quizás también podría importar un archivo .js y reemplazar la imagen allí, en JavaScript.
fuente
Supongamos que no puede cambiar el tipo de entrada, o incluso el src. SOLO tienes CSS para jugar.
Si conoce la altura que desea y tiene la URL de una imagen de fondo que desea utilizar, tiene suerte.
Establezca la altura en cero y padding-top en la altura que desee. Eso empujará la imagen original fuera de la vista, dándole un espacio perfectamente limpio para mostrar su imagen de fondo css.
Funciona en cromo. No tengo idea si funciona en IE. Casi nada inteligente lo hace, así que probablemente no.
fuente