Decorar botones en CSS (Input button)

Hace poco para un proyecto del trabajo necesitábamos decorar unos botones en CSS, aquí dejo un pequeño ejemplo sobre como decorar los botones en CSS utilizando sprites.

Imágenes de fondo

Para crear los botones utilizaremos únicamente dos imágenes, una para el botón activo y otra para el boton inactivo, son estas dos, nótese que solo usaremos dos imágenes para mas 16 botones distintos:

PNG para Botones inactivos

PNG para Botones activos

Código CSS

Ahora creamos el css donde tendremos una clase principal llamada btn y clases secundarias que especifican que imagen/icono utilizar, por ejemplo la clase btnsave que muestra un típico guardar con el icono de un disquete.

.btn{
  height: 23px; background-color: #f5f5f0; border-bottom: 1px solid #555555;
  border-right:1px solid #555555; border-top:0px; border-left:0px; font-size: 9px;
  color:black; background-image: url(./img_comuns/btns.png);
  padding-left: 20px; background-repeat: no-repeat; cursor:hand; cursor:pointer;
  margin-left:5px; margin-right:5px; outline-width:0px;
}

.btn:hover{
  height: 23px; background-color: #f5f5f0; border-bottom: 1px solid #AAAAAA;
  border-right:1px solid #AAAAAA; border-top:0px; border-left:0px;
  font-size: 9px; color:black;padding-left: 20px; background-repeat: no-repeat;
  cursor:hand; cursor:pointer; margin-left:5px; margin-right:5px;outline-width:0px;
  background-image: url(./img_comuns/btns_act.png);
  
}

.btnadd{ background-position: 0px -92px; }
.btnfind{ background-position: 0px -115px; }
.btnprint{ background-position: 0px -69px; }
.btnmail{ background-position: 0px -138px; }
.btnsave{ background-position: 0px 0px; }
.btndelete{ background-position: 0px -46px; }
.btncancel{ background-position: 0px -23px; }
.btncopy{ background-position: 0px -161px; }
.btnnonuser{ background-position: 0px -322px; }
.btnuser{ background-position: 0px -276px; }
.btnadmin{ background-position: 0px -299px; }
.btncheck{ background-position: 0px -207px; }
.btnuncheck{ background-position: 0px -230px; }
.btnrefresh{  background-position: 0px -345px;  }
.btnlogout{ background-position: 0px -368px; }
.btnapply{ background-position: 0px -184px; }

Como vemos, cada clase secundaria lo único que hace es enfocar al icono que queremos utilizar, podríamos modificar la imagen para añadir iconos nuevos a la parte inferior fácilmente.

Decorando los botones

Para decorar los botones añadimos la clase básica btn y luego la clase del icono, por ejemplo:

 <input type='button' class='btn btncancel' value='Cancelar'>
 <input type='button' class='btn btnsave' value='Guardar'>
 <input type='button' class='btn btndelete' value='Eliminar'>

Quedaría así:

decorar botones con css estilos



Descargar

Podéis descargar el ejemplo con el htm, css, y la imagen pulsando en estos enlaces:

  botones_css.tar.gz
  botones_css.zip
  botones_css.tar.bz2

Podeis utilizar estos botones en vuestros sitios libremente sin pedir permiso, pero dejar un comentario aquí se agradecería, saludos!

Quizás te interese:

Gravatar en PHP, Clase para generar avatares.

Comentarios

UnoQueLLegoAquiAnsiosoDeDanzaDDragones
2009-12-15 14:44:17

Mooola, no sabia que se le podian poner dos clases CSS a la vez, me viene de pm, estoy intentanto aprender cosillas de programacion web. Gracias! yo habria creado las distintas clases para cada boton con su propio hover :D

Jose
2009-12-27 13:08:23

Exelente aporte. Gracias por el material. me ayuda mucho porque soy autodidacta.

Muchisimas gracias

ilen
2010-04-16 14:43:54

Estoy realizando un sistema para el gobierno entre Ecuador y Colombia estos botones se parecen al del facebook, los aplicare... Me caen de pelos..... Salu2. Desde la ciudad del Entretenimiento, GUAYAQUIL.

Carlos Andrés Restrepo
2010-05-04 20:56:48

Hola en ie 8 se ve muy separado el icono del texto pero en fierefox se ve bien

NidoDeCuervos
2010-05-05 15:01:29

Hola,

Gracias a todos por pasar y comentar, Carlos, gracias por apuntar el fallo en IE8, intentare solucionarlo mañana.

Saludos.

FeRDimebag
2010-06-26 01:31:35

Muchas gracias, divinos los botones :$
^^
Gracias, nuevamente

RmnXCrack
2010-12-30 09:50:30

Muchas gracias, me has ayudado muchisimo es justo lo que andaba buscando;
Muchas gracias!!

Adrian
2011-03-29 20:28:14

Muy bueno de verdad, he estado aprendiendo por la web y esta es la mejor idea funcional de css. Muy util, Gracias.

noemi
2011-06-17 12:20:24

Hola, muchas gracias por el aporte.


2011-07-08 15:42:41

MUCHAS gracias por ese aporte tan grande que os ah brindado...
ahora si se como es que se hace esa vaina

MArko
2011-09-22 19:51:47

Chido padre.... gracias por el aporte que estes bien ;)


2011-12-12 08:31:25

Gustavo
2011-12-12 08:33:13

Sos grande gracias era justamente lo que buscaba para un proyecto de sistema web

Envía un comentario, es gratis.

NidoDeCuervos | Comprar TwoNav | Gir360 - Tienda online | RSS | Enlaces | Contacto