jump to navigation

Boton con imagen de fondo en CSS Enero 8, 2007

Publicado por lineadecodigo en : CSS , trackback

En el articulo de ayer veíamos como se manejaban las imágenes en los botones dentro de XForms. XForms será, esperemos, la evolución de los formularios HTML dentro de XHTML v2. Pero, a día, de hoy, con lo que tenemos que convivir es con HTML + CSS. Es por ello que nos tendremos que apoyar en los atributos de CSS para poder poner imágenes dentro de los botones.

La idea general es utilizar el atributo background-image, el cual pone una imagen de fondo sobre el elemento de la página sobre el que se aplique. Para ello vamos a crear una clase que llamaremos "botonimagen", la cual podremos aplicar sobre cualquier botón de nuestra página.

Lo primero es definir dicha clase, esto lo tenemos que hacer con la etiqueta <style>. Dicha etiqueta tiene un atributo type. Este atributo sirve para indicarle que estilo va a ir definido dentro de la etiqueta. En nuestro caso será text/css.

El código será el siguiente:

.botonimagen{
  background-image:url(imagen.jpg);
}

De este código hay que indicar que el valor del atributo background-image no es directamente el nombre de la imagen, sino que deberemos de utilizar una URL. Es por ello que el nombre de la imagen va después de la función url. Su valor podría ser cualquier dirección de URL donde estuviese la imagen.

Lo siguiente que deberemos de hacer es asignar la clase a un botón. En este punto decir que el lenguaje HTML nos proporciona dos formas de conseguir un botón.

Para aplicar la clase deberemos de utilizar el atributo style. En el caso de escoger la primera de las formas de pintar un botón, la línea de código nos quedaría:

<input type="button" class="botonimagen" value="Texto del boton"/>

En este punto nos encontramos con una serie de inconvenientes. Por ejemplo:

Para paliar estos efectos y con el fin de que nos quede un botón cual menos, curioso. Podemos jugar con un conjunto de atributos, que son:

Finalmente el código de la clase nos quedaría de la siguiente forma:

.botonimagen{
  background-image:url(imagen.jpg);
  background-repeat:no-repeat;
  height:100px;
  width:100px;
  background-position:center;
}

Visualizar el ejemplo | Descargar el código

Articulos Similares:

Enviar entrada por email Enviar entrada por email | Imprimir Imprimir | 19200 visitas

1 Star2 Stars3 Stars4 Stars5 Stars (1 votos, media: 1.00 de 5)
Loading ... Loading ...

Comentarios»

1. ale - Julio 24, 2007

Muy bueno, genial para todos los que estamos haciendo por primera vez una pagina.

2. denieru - Diciembre 11, 2007

Excelente articulo.
para quitar el borde del boton dentro del css

.botonimagen{

borde: 0;
}

3. Arturo - Enero 10, 2008

De hecho para quitar el borde del boton dentro del css sería más bien así:

.botonimagen{

border:none;
}

4. Pedro - Enero 10, 2008

Primero, felicidades por la página. Y luego, creo que no se ve la imagen en Internet Explorer 7. ¿Es posible?
Saludos

5. guillermo - Febrero 1, 2008

es verdad en el internet explorer 7 no se ve el boton

6. omayra - Febrero 6, 2008

realmente estoy iniciando en todo esto de we y quisiera saber si cuando uso la forma de insercion externa en donde defino un archivo con la extension .css los atributos que ustedes asignan en el style yo lo puedo definir como un elemento el style y hacer referencias bueno en fin cualquier cosa q me puedan agregar o que me guie a aprender se los agradecere

7. sebastian - Junio 4, 2008

muy bacano el codigo, pero en IE7 no se visualiza la imagen,

¿hay algun codigo que permita visualizar la imagen en IE7?

8. Miriam - Junio 13, 2008

Como hago para que este boton tenga un mouse over ose que tenga otra imagen que se vea al presionar.
Saludos
MG

9. Rodolfo - Julio 5, 2008

Hola, para que la imagen de fondo se vea en el IE7 solo agreguen esta linea:

background-color:#FFFFFF;

Sólo le estamos dando un color de fondo, el cual no se ve, pero por algún motivo es necesario indicarlo en IE.

Espero les ayude, saludos.

10. Snider - Agosto 17, 2008

Muy bueno,esta bacan las aplicaciones de CSS, mas bien me gustaria saber como quitar los puntos del boton cuando tiene el foco,se puede hacer eso?

11. aneaaron - Octubre 7, 2008

Excelente Julio, gracias, me quiebro la babeza con estas cosas en el ie

saludos

12. Mayoman - Octubre 18, 2008

Funciona en IE7 aplicando cualquier color de fondo, yo uso el gris #CCCCCC.

Esto se debe a que al aplicar un color, el formato estándar del botón se desactiva, dando más libertad al programador de darle la apariencia que desee.

Por cierto esto no es necesario ni en Chrome ni en Safari

13. lis - Noviembre 7, 2008

no me funciona el input type”image” para poder guardar el formulario a mi base dedatos utilizando el explorer…..
q hago??????????
neceito q alguin me ayudeeeeeeeeeeee

14. lis - Noviembre 7, 2008

no me funciona el input type”image” para poder guardar el formulario a mi base dedatos utilizando el explorer…..
q hago??????????
neceito q alguin me ayudeeeeeeeeeeee

15. tigladd - Febrero 24, 2009

Cita de Snider
———————————————————-
Muy bueno,esta bacan las aplicaciones de CSS, mas bien me gustaria saber como quitar los puntos del boton cuando tiene el foco,se puede hacer eso?
———————————————————-

En el CSS poner “a {outline-style:none;}” (sin comillas por supuesto)

16. mauricio - Noviembre 17, 2009

hola

17. javier - Noviembre 17, 2009

esta muy chida

18. Alejandro Santa - Junio 3, 2010

Muchisimas Gracias, me sirvió muchisimo..

19. lineadecodigo - Junio 4, 2010

@Alejandro Santa,

Me alegro que te haya servido. :-)


Imagen CAPTCHA CAPTCHA Audio
Refrescar imagen