martes, 3 de noviembre de 2009

Cabecera sin márgenes para cualquier navegador

El fantástico explorer 6 me sigue trayendo de cabeza. Para una nueva web que estoy haciendo elegí la cabecera sin márgenes, una banda horizontal que ocupe toda la pantalla en donde poner botones, logos... como la banda superior de este blog, vamos.

En principio usé márgenes negativos, con CSS, claro. Pero pasaban dos cosas:
  1. En explorer 6 nada de nada, no pilla eso de los márgenes negativos.
  2. Y en el resto sí los pilla pero aparece una barra de desplazamiento horizontal que queda poco elegante.(de esto me dí cuenta después de probar varias soluciones)
¡A buscar soluciones! con lo primero que me topo es con un programa online que corrige los errores del explorer 6 al interpretar el código CSS: ie6fixer. OK parece que lo soluciona con una propiedad llamada "zoom"... mi gozo en un pozo, dicha propiedad no valida el código CSS, es decir, no está de acuerdo con los estándares.

Sigo buscando en google enlaces a foros o blogs que hablen del tema y pruebo alguna solución pero nada.

La solución vino de la web htmlconclase, observando su CSS encuentro que todo pasa por hacer una tremenda tontería:

body{ margin: 0px;}

Casi me daba vergüenza publicar esto por lo simple que es, pero la cosa no está solucionada del todo.

Si probamos esta misma página www.blogger.com en chrome u opera haciendo la ventana más pequeña aparecerá la barra de desplazamiento horizontal, si la movemos hacia la derecha... lo que pasa no es muy profesional que digamos. Desaparece parte de la barra superior. Este efecto pasa en páginas tan poco sospechosas como google.com e incluso en htmlconclase reduciendo la ventana muchísimo.

Estudiando otras páginas como forosdelweb creo haber dado con la solución definitiva:

El contenedor de la cabecera (o pie) tiene que tener esta propiedad:

#cabecera{min-width:800px;} (800px o el ancho que se quiera para estos contenedores)

Creo que éste ya funciona en todos.. y valida el CSS 2.1.

No hay comentarios:

Publicar un comentario