# Imágenes

En esta lección aprenderás a:

- crear imágenes flotantes con la propiedad float
- centrar imágenes
- desactivar la flotación de una imagen

## La propiedad float

Las imágenes son elementos en línea, es decir, que se insertan como si fueran caracteres, formando parte del párrafo o del elemento de bloque en el que se insertan. La altura de la línea en la que está insertado el elemento aumenta lo necesario para poder alojar la imagen, como muestra el siguiente ejemplo, en el que la hoja de estilo no contiene ninguna propiedad relacionada con la imagen.

img { } | Este párrafo tiene insertada una imagen al principio del párrafo. Se trata del logotipo de GNU. GNU es un acrónimo recursivo que significa "GNU is Not Unix" (GNU No es Unix). GNU es un proyecto de software libre iniciado por Richard Stallman en 1984. La imagen forma parte del párrafo, es una letra más en la primera línea.

Si quieres que una imagen aparezca a la izquierda (o a la derecha) de un texto, es decir, que el texto fluya a lo largo de la imagen, utiliza la propiedad float. Esta propiedad sólo admite dos valores, left y right, que sitúan la imagen a la izquierda o a la derecha, como muestran los ejemplos siguientes.

img { float: left; } | Este párrafo tiene insertada una imagen al principio del párrafo. Se trata del logotipo de GNU. GNU es un acrónimo recursivo que significa "GNU is Not Unix" (GNU No es Unix). GNU es un proyecto de software libre iniciado por Richard Stallman en 1984. La imagen debe "flotar" a la izquierda y el texto debe fluir a su derecha.
img { float: right; } | Este párrafo tiene insertada una imagen al principio del párrafo. Se trata del logotipo de GNU. GNU es un acrónimo recursivo que significa "GNU is Not Unix" (GNU No es Unix). GNU es un proyecto de software libre iniciado por Richard Stallman en 1984. La imagen debe "flotar" a la derecha y el texto debe fluir a su izquierda.

## Centrar una imagen

La propiedad float no permite centrar objetos. Para centrar una imagen, el elemento que contiene a la imagen tiene que tener su contenido centrado.

Por ejemplo, si la imagen está en un párrafo, puedes definir la clase "p.centrado" con el atributo text-align establecido con el valor center y después dar al párrafo que contiene la imagen la clase "centrado". Lógicamente, si añades texto al párrafo, el texto también se centrará.

p.centrado { text-align: center; } |

## La propiedad clear

Al crear una imagen flotante, el navegador sitúa los elementos que se encuentran a continuación de la imagen a su lado, aunque no pertenezcan al mismo bloque, como muestra el siguiente ejemplo:

img { float: left; } | El logotipo de GNU debe "flotar" a la izquierda y el párrafo debe fluir a su derecha. El logotipo de Linux, Tux, debe "flotar" a la izquierda y el párrafo debe fluir a su derecha. Seguramente tanto la imagen como el párrafo están a la derecha del logotipo de GNU. |

Nota: En Amaya 8.1 los párrafos no se montan. Dado que el soporte de float en Amaya es reciente, es posible que las próximas versiones de Amaya se comporten como Mozilla o Internet Explorer y monten los párrafos.

Para impedir que ocurra esto, es necesario que la flotación de la imagen se interrumpa. La propiedad clear hace que un elemento no tenga elementos flotantes a su lado. Los posibles valores de float son left, right y both, que harían que no hubiera elementos flotantes a la izquierda, a la derecha o en ninguno de los dos lados, respectivamente.

Puedes asignar la propiedad clear a cualquier elemento. En el ejemplo siguiente se ha asignado a una línea horizontal:

img { float: left; } hr { clear: both; } | El logotipo de GNU debe "flotar" a la izquierda y el párrafo debe fluir a su derecha. El logotipo de Linux, Tux, debe "flotar" a la izquierda y el párrafo debe fluir a su derecha. La línea intermedia impide que se monten sobre el párrafo anterior. |

Autor: Bartolomé Sintes Marco
Última modificación: 17 de octubre de 2003