feed twitter facebook LinkedIn facebook

CSS, HTML » Combos con imagenes

Diciembre 5, 2006 por Víctor Cuervo . 7801 visitas 2 Comentarios Imprimir Imprimir

Mientras que esperamos a que XForms se convierta en el estándar soportado por los navegadores para el desarrollo de formularios (espero que XHTML 2.0 lo de el impulso necesario), nos vemos obligados a realizar verdaderas virguerías con los formularios de HTML 4.01.

En este caso lo que queremos es que nuestros combos de selección nos aparezcan con imágenes y que pueda seleccionar una de ellas. ¿Es esto posible?

La respuesta a esta pregunta es difícil. Podríamos decir que imposible no es. Pero que el soporte que se da desde los navegadores a este caso es mínimo. Para que nos hagamos una idea, solo funciona con los motores Mozilla (FireFox y compañia).

La idea es la siguiente. En primer lugar, utilizando hojas de estilo CSS definiremos tres elementos cuadrado,circulo y triangulo. Estos tres elementos tendrán una imagen de fondo representativa. Para indicar la imágen de fondo de un elemento utilizamos el atributo background-image.

Veamos como quedaría definido:

<style type="text/css">
<!--
.circulo {
  background-image: url(circulo.jpg);
  height: 50px;
  width: 50px;
  background-repeat: no-repeat;
}
.triangulo{
  background-image: url(triangulo.jpg);
  height: 50px;
  width: 50px;
  background-repeat: no-repeat;
}
.cuadrado{
  background-image: url(cuadrado.jpg);
  height: 50px;
  width: 50px;
  background-repeat: no-repeat;
}
-->
</style>

Hay que indicar que hemos utilizado otros atributos. El primero es el alto y ancho (height y width respectivamente). La idea es tener imágenes uniformes de 50x50 pixels.

El otro atributo es background-repeat, al cual hemos dado un valor de no-repeat. Esto significa que solo se mostrará la imagen de fondo una vez. Y es que si usamos este estilo dentro de un área de 100x50 veremos que, por defecto nos aparece duplicada la imagen.

Ahora solo nos quedará definir el combo y asignar los estilos necesarios en cada opción. De la siguiente forma:

<select>
  <option class="cuadrado">Cuadrado</option>
  <option class="circulo">Circulo</option>
  <option class="triangulo">Triangulo</option>
</select>

Y ya está. Ya tenemos nuestro combo con imágenes. El cual, en FireFox, nos quedará de la siguiente manera:

Combo con imagenes

Visualizar el ejemplo | Descargar el código

tags:

Artículos relacionados:

2 comentarios »

Redifusión RSS de los comentarios de la entrada. TrackBack URI

  1. Lucy
    Junio 12, 2007 #

    ¿Cómo hacerlo para visualizarlo en IExplorer?

  2. lineadecodigo
    Junio 12, 2007 #

    Lucy, por desgracia no he encontrado ninguna forma de hacerlo en Internet Explorer. Si alguien lo conoce, su ayuda será de mucha utilidad.

Deje un comentario

XHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

*