Una de las preguntas más frecuentes cuando se habla de diseño bajo CSS es como se pueden estilizar los formularios ya que en muchas ocasiones es la parte de un sitio que no queda de acuerdo al estilo del resto de los elementos. Por esto, en esta, mi primera colaboración para CSS Boulevar decidà que serÃa buena idea escribir al respecto.
En realidad la estilización de formularios es más simple de lo que parece, sin embargo, se necesitan de un par de trucos para adquirir la apariencia que se quiere la cual aún está limitada por ciertas caracterÃsticas que no todos los navegadores actuales soportan.
Para comenzar, lo primero que tenemos que hacer es hacer el diseño de como vamos a querer que se vea nuestro formulario. Desde este punto vamos a tener que tomar en cuenta muchas consideraciones que veremos más adelante y que para este caso no tomé en cuenta a propósito por tratarse de un ejemplo en el que hay que resaltar estas limitaciones.
El código (X)HTML de este ejemplo no tiene mayor ciencia, únicamente se trata de un formulario con 4 campos, algo tÃpico de un sistema de comentarios, queda algo como lo siguiente:
Lo único que hay que resaltar es la falta de definición del tamaño de los campos de texto, esto lo haremos por medio de CSS asà que no es necesario definirlos por el momento.
Estilizando el formulario
Aplicar estilos a formularios no es diferente de hacerlo con cualquier otro elemento, para empezar, únicamente vamos a agregar color al fondo de la página para ver como esta nuestro formulario inicialmente este primer paso.
body {
background: #A0CE00;
}
Hasta el momento esta desordenado y no se ve nada bien. Lo primero que vamos a hacer es organizarlo, para facilitar después el resto del proceso. Vamos a desplegar las etiquetas como block para que se simulen los cambios de lÃnea además de definir un poco el estilo general del formulario.
form {
padding: 50px;
background: #84AA00;
width: 250px;
}
label {
font-size: 14px;
font-family: Arial, Helvetica, sans-serif;
color: #FFF;
display: block;
}
.campo {
margin-bottom: 20px;
}
La primer parte importante para estilizar las cajas de texto es esconder lo que tenemos por default, esto nos va a permitir mas libertad ya que en realidad el truco nada más se trata de reemplazar las cajas con una imagen. Para que las cajas se escondan, si perder funcionalidad vamos a fundirlas con el color de fondo cambiando tanto los bordes como el fondo.
.campo {
width: 254px;
height: 30px;
margin-bottom: 20px;
border: 1px Solid #84AA00;
background: #84AA00;
}
#comentario {
width: 294px;
height: 193px;
}
Ahora si llegó la parte divertida, lo siguiente será añadir las imágenes como fondo, un simple background-image bastará para lograr el efecto.
.campo {
width: 254px;
height: 30px;
margin-bottom: 20px;
border: 1px Solid #84AA00;
background: #84AA00;
background-image: url(f1.jpg);
background-repeat: no-repeat;
padding: 2px;
color: #669966;
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 12px;
}
#comentario {
width: 254px;
height: 193px;
background-image: url(f2.jpg);
background-repeat: no-repeat;
}
Añadimos el atributo padding para que el texto no quede totalmente pegado a la imagen además de cambiar el color, tamaño y fuente del texto como detalles.
Lo único que nos falta es el botón de enviar, el proceso es el mismo, lo único extra en este caso es la indentación del texto en caso de que no se quiera que este se vea.
#boton_enviar {
width: 88px;
height: 27px;
margin-left: 80px;
background: #84AA00;
border: 1px Solid #84AA00;
background-image: url(boton.jpg);
text-indent: -9999px;
}
Extras
Básicamente el formulario esta listo, vamos a agregar un pequeño efecto para que se vea aún mejor. Hice un par de imágenes extra sin sombreado que se utilizan cuando el usuario pasa el cursor sobre la caja de texto.
.campo:hover {
background-image: url(f3.jpg);
}
#comentario:hover {
background-image: url(f4.jpg);
}
Si están utilizando un buen navegador, el efecto se ve sin problema alguno pero en Internet Explorer la situación es diferente ya que como sabemos, no reconoce el uso de hover en elementos que no sean enlaces, sin embargo, no hay ningún problema pues se sigue viendo la imagen inicial.
Como mencione al principio, nos encontramos aún con muchos problemas al estilizar formularios, en este ejemplo, podemos ver que las barras de scroll en el area de texto pueden llegar a verse mal y desafortunadamente estas no son estilizables más que en IE. Sin embargo, con un poco de imaginación y un par de sencillos hacks podemos lograr efectos para que los formularios vayan de acuerdo con el estilo del sitio.

Autor: Oscar Alcalá

marieta
Posted in
Tags: