Maquetar una página con CSS V

Valoración del artículo:
Para acabar, vamos a crear un pie de página y un borde enmarque la página. Ofreceremos también unas conclusiones del ejercicio.
Publicado: 23/2/05
Atención: Contenido exclusivo de DesarrolloWeb.com. No reproducir. Copyright.
Apuntaremos los últimos retoques en el diseño de la página con CSS para finalizar el taller de maquetación con CSS. Se puede ver la primera parte del artículo.

Pie de la página

Este elemento no lo habíamos previsto en la imagen original, creada previamente, pero lo hemos decidido colocar porque lo necesitamos, para que en la parte donde está el cuerpo y el lateral, aparezca el fondo de color blanco. En Explorer aparece el fondo blanco sin ningún problema, pero en Mozilla y otros navegadores, al estar las dos capas de cuerpo y lateral "flotando" a izquierda y derecha, no entiende que deba mantener el fondo blanco definido en el container.

No se si se entiende esto bien, pero lo mejor es hacer una prueba y ver lo que hemos definido hasta el momento en la plantilla en Firefox o Mozilla. Veremos que el fondo blanco no está continuado hacia abajo.

<div id="pie">
Pruebas de maquetación CSS © 2005 DesarrolloWeb.com
</div>

Esta capa tiene el siguiente estilo definido:

#pie{
clear : both;
color : #cccccc;
text-align : right;
margin : 10px 10px 0px 10px;
padding-bottom:10px;
}

Con "clear:both" indicamos que la capa debe mostrarse sin elementos flotando a izquierda y derecha, de modo que la posición de la capa será inmediatamente por debajo de la capa cuerpo y lateral.

Luego se define un color para el texto una alineación de texto, unos márgenes y un margen interno por la parte de debajo de 10 pixel.

El borde externo

El diseño original incluía un borde de 2 pixel rodeando a toda la capa principal. Podemos hacer la prueba de incluir un borde en la capa contenedor. Para ello hay que añadir en el estilo para la capa contenedor el atributo border, de la siguiente manera.

#contenedor{
text-align: left;
border: 2px solid #cccccc;
width: 700px;
margin: auto;
background-color : #ffffff;
}

En Mozilla y navegadores similares, todo es correcto. Pero en Internet Explorer la cosa tiene su problema. Esto es debido a que el espacio de los bordes, en Explorer, se toma del que se haya asignado a la propia capa y en Mozilla y otros navegadores, se toma como espacio adicional, aparte del que se haya asignado a la capa en si.

Lo mejor es probarlo y verlo por uno mismo, o bien encontrarse con el problema y encontrarle solución sin tener que romperse la cabeza.

Nosotros lo hemos arreglado quitando el borde en la capa contenedor y creando una nueva capa, en la que situaremos el contenedor. Esa nueva capa la hemos llamado borde y es la que va a tener el estilo de borde definido.

<div id="borde">
<div id="contenedor">
.... contenido de toda la página
</div>
</div>

Para conseguir el borde se han definido el siguiente estilo para la capa borde.

#borde{
border: 2px solid #cccccc;
text-align: left;
width: 700px;
margin: auto;
}

Primero hemos definido un borde de 2 pixel. Luego un centrado a la izquierda (para contrarrestar el centrado al centro que tiene el body y que habíamos puesto para que Explorer centrase la capa del contenido. También se incluye una anchura de 700 pixel y un margen "auto" para que Mozilla y otros navegadores centren la capa.

El resultado final del ejercicio se puede ver en una página aparte. Por supuesto, conviene ver el resultado final utilizando varios navegadores distintos.

Conclusión

Hemos visto cómo maquetar una página utilizando CSS paso a paso. Esperamos que hayáis podido seguir el ejercicio y que ninguna dificultad os haya frenado. Realmente el trabajo con CSS para la maquetación es una tarea fácil, pero también es muy sencillo encontrarnos con escollos o problemas misteriosos que no parecen tener respuesta.

Sin ser un diseño complicado, realizar esta maquetación nos ha llevado varias horas de trabajo y algún que otro padecimiento, que por suerte no ha llegado a desesperación. Sobretodo existen dificultades a la hora de conseguir el diseño que se vea correctamente en todos los navegadores del mercado. Este diseño lo hemos probado con éxito en Mozilla, Firefox, Netscape, Opera y Explorer.

Para que la compatibilidad entre navegadores no signifique un problema muy pesado, nuestro consejo y el de otros desarrolladores, es diseñar con Mozilla o navegadores similares. Luego se puede ver el resultado en Explorer y adaptar lo que fuera necesario para terminar de cuadrar el diseño. En este caso habrán pocas cosas que cambiar, mientras que si diseñamos para Explorer y luego vemos el resultado en otros navegadores, seguramente nos tiremos de los pelos porque nada esté en su sitio.

La experiencia en el trabajo con CSS, nos dice que a menudo surgen los mismos problemas o similares. Una vez que ya los hemos resuelto unas pocas veces y nos hemos acostumbrado a ello, igual que hicimos con los detalles relativos al HTML y la maquetación con tablas, CSS se torna mucho más sencillo, potente y rápido de desarrollar.

Resultado final del ejercicio.

Comentarios
Fueron enviados 35 comentarios al artículo
26 comentarios no revisados
9 comentarios revisados:
Por: joaquin
25/2/05
Quiero felicitaros por tan buen articulo. Yo he estado programando algunos sitios web (no profesionales) y el problema de la maquetación y que aparezcan todas las cosas en su sitio siempre me ha traido de los nervios. Ahora algunas cosas me han quedado mucho más claras. Un gran trabajo muchachos. Enhorabuena.
Por: Carlos
27/2/05
Enhorabuena por el artículo. Me ha resultado muy útil.
Quería comentar, que en Opera no se ve el borde derecho. Yo lo he solucionado añadiendo 2px más que al contenedor, a la clase borde.Si el contenedor tiene 700px, el borde 702px. No se si es la mejor solución pero funciona.
Por: Cesar
03/3/05
Excelente manual, felicitaciones me esta sirviendo de mucho con respecto al maketeado de las webs, ya ke tenia muchos lios para mostrar una web bien puesta en todos los navegadores y con esto lo he solucionado.
Por: Hugo
02/4/05
Excelente paso a paso para utilización de capas con css, muchas gracias.
Por: jaime
06/4/05
Gran ejercicio, muy clarito y fácil de seguir. Gracias.
Por: Ageo
20/4/05
Excelente tutorial para novatos y avanzados. Había estado buscando tutoriales de css y layouts y me pareció excelente el suyo. Gracias!
Por: IdEm
25/7/05
Antes que nada, quiero darles las gracias a los autores de esta web, ya que me he basado la mayoria de las veeces en sus tutoriales para poder realizar mis páginas, actualmente trabajo para SCo méxico, en el desarrollo de su página web, tambien he hecho otros proyectos y recientemente he armado una página llamada undermusick, esta cabe destacar que fue hecha en su totalidad con CSS, y esto no hubiera sido posible sin su gran tutorial de maquetacion de páginas con css.

esta es mi URL para que puedan ver el trabajo que realizé, espero y les guste.
http://undermusick.host.sk
Por: Alberto Corella
16/2/06
Se puede conseguir que se vea bien en IE, Firefox y Opera sin necesidad de añadir un "pié" a la página. La solución es NO emplear elementos flotantes.
Estos son los cambios que hay que hacer:
1. Quitar el "pie" (no va a hacer falta)
2. En #contenedor añadir "position: relative"
3. En #cuerpo suprimir "float: left"
4. En #lateral suprimir "float: right" y añadir: "position: absolute", "top: 129px" y "right: 0px"

Al no usar los elementos flotantes, la capa "contenedor" crece para abarcar a "cuerpo" y "lateral".

agustin...
Maquetar con CSS
04/8/09
Muy bueno útil este artículo!
Gracias por darlo a conocer.
Agustina (Argentina)

Manuales relacionados
Categorias relacionadas
El autor
Últimas noticias
Alojados en el grupo