Cómo crear una cabecera fija responsive con html y css

Inicio » Cómo crear una cabecera fija responsive con html y css

Cómo hacer que un elemento fijo sea responsivo

En los primeros tiempos del diseño web, las páginas se construían para un tamaño de pantalla concreto. Si el usuario tenía una pantalla más grande o más pequeña de lo que el diseñador esperaba, los resultados iban desde barras de desplazamiento no deseadas hasta longitudes de línea demasiado largas y un mal uso del espacio. A medida que se fueron ampliando los tamaños de pantalla, apareció el concepto de diseño web responsivo (RWD), un conjunto de prácticas que permite que las páginas web modifiquen su diseño y apariencia para adaptarse a diferentes anchos de pantalla, resoluciones, etc. Es una idea que cambió la forma de diseñar para una web multidispositivo, y en este artículo te ayudaremos a entender las principales técnicas que debes conocer para dominarla.

Estos dos enfoques solían dar como resultado un sitio web que se veía mejor en la pantalla de la persona que lo diseñaba. El sitio líquido daba lugar a un diseño aplastado en las pantallas más pequeñas (como se ve a continuación) y a longitudes de línea ilegibles en las más grandes.

Cuando la web móvil empezó a ser una realidad con los primeros teléfonos móviles, las empresas que deseaban adoptar el móvil solían crear una versión especial de su sitio para móviles, con una URL diferente (a menudo algo como m.ejemplo.com, o ejemplo.mobi). Esto significaba que había que desarrollar y mantener actualizadas dos versiones distintas del sitio.

Plantilla css de cabecera

La propiedad position: sticky admite tanto la adhesión a la parte superior como a la lateral en las versiones modernas de Chrome, Firefox y Edge. Esto puede combinarse con un div que tenga la propiedad overflow: scroll para obtener una tabla con cabeceras fijas que pueda colocarse en cualquier lugar de la página.

Si fuera posible hacerlo, tendrías que anidar varios divs desplazables uno dentro de otro, cada uno con un desplazamiento en una dirección diferente. Entonces tendrías que dividir tu tabla en tres partes: la cabecera fija, la columna fija y el resto de los datos.

Bien. Pero ahora el problema es que puedes hacer que una de ellas permanezca en su sitio cuando te desplaces, pero la otra está anidada dentro del área de desplazamiento de la primera y, por lo tanto, está sujeta a ser desplazada fuera de la vista, por lo que no puede ser fijada en su sitio en la pantalla. Ah-ha”, dirás, “pero puedo usar la posición absoluta o fija para hacer eso” – no, no puedes. En cuanto lo hagas, perderás la capacidad de desplazar ese contenedor. Es la situación del huevo y la gallina – no puedes tener ambos, se anulan mutuamente.

Cabecera fija css

En los primeros tiempos del diseño web, las páginas se construían para un tamaño de pantalla concreto. Si el usuario tenía una pantalla más grande o más pequeña de lo que el diseñador esperaba, los resultados iban desde barras de desplazamiento no deseadas hasta longitudes de línea demasiado largas y un mal uso del espacio. A medida que se fueron ampliando los tamaños de pantalla, apareció el concepto de diseño web responsivo (RWD), un conjunto de prácticas que permite que las páginas web modifiquen su diseño y apariencia para adaptarse a diferentes anchos de pantalla, resoluciones, etc. Es una idea que cambió la forma de diseñar para una web multidispositivo, y en este artículo te ayudaremos a entender las principales técnicas que debes conocer para dominarla.

Estos dos enfoques solían dar como resultado un sitio web que se veía mejor en la pantalla de la persona que lo diseñaba. El sitio líquido daba lugar a un diseño aplastado en las pantallas más pequeñas (como se ve a continuación) y a longitudes de línea ilegibles en las más grandes.

Cuando la web móvil empezó a ser una realidad con los primeros teléfonos móviles, las empresas que deseaban adoptar el móvil solían crear una versión especial de su sitio para móviles, con una URL diferente (a menudo algo como m.ejemplo.com, o ejemplo.mobi). Esto significaba que había que desarrollar y mantener actualizadas dos versiones distintas del sitio.

Cabecera responsiva css

Quiero que el elemento tenga siempre la altura total de la pantalla (excluyendo la cabecera y el pie de página). Por ejemplo, digamos que la altura total de la pantalla es de 1000px y cada uno de los encabezados/pies tiene una altura fija de 60px –> la altura del elemento div debe ser de 880px.

He considerado flexbox, pero no entendí cómo exactamente puedo usarlo para mis necesidades. Digamos que tengo algo de texto y algunas imágenes en el contenido de la página. No quiero que aparezca un scroller vertical cuando la pantalla es más pequeña, quiero que todo el contenido se reduzca para que llene la altura disponible.

Te recomiendo el módulo Flexible Box Layout, que tiene buen soporte en tu caso (IE10+). Muchos de los problemas clásicos de CSS pueden ser fácilmente resueltos con él, echa un vistazo a la lista de soluciones de Flexbox.

Presta atención a que la especificación ha cambiado tres veces desde 2009, por lo que hay pequeñas diferencias en la sintaxis y las necesidades de los prefijos de los vendedores. Los enlaces que mostré también hablan de ello. Por supuesto, no importa si usted elige utilizar autoprefixer.

Ir arriba