cs-layout.css

Librería ligera basada en Flexbox para la construcción de interfaces de pantalla completa.


Proyecto mantenido por Wilfredo Nina Choquetarqui

¿Qué es cs-layout.css?

Es una librería CSS ultra-ligera basada en Flexbox, diseñada específicamente para la construcción de interfaces de pantalla completa Viewport-Locked UIs. A diferencia de los frameworks tradicionales, ofrece un sistema bidireccional que permite un control total sobre el flujo horizontal y vertical, eliminando el scroll global de la ventana. Ideal para desarrolladores que buscan crear interfaces adaptables Desktop/Mobile que se ajusten perfectamente al marco de la pantalla sin complicaciones de cálculos manuales de altura.

¿Cómo se implementa?

Descarga e incluye el archivo en el <head> de tu documento HTML:

<link rel="stylesheet" href="cs-layout.min.css">

La librería utiliza tres componentes clave para construir cualquier interfaz:

Clase Descripción
.g-container El marco principal, por defecto ocupa todo el ancho y alto disponible.
.g-row .g-col Define la dirección del flujo: vertical - filas u horizontal - columnas.
.g-cell El bloque de contenido, se expande automáticamente para llenar el espacio sobrante.
.g-cell-auto Bloque con tamaño fijo basado en su contenido, ideal para headers o footers.
.g-static
Modo Estático, desactiva el comportamiento responsivo para mantener el layout fijo en móviles, este modo no se hereda a las clases hijos asi que debe ser usado de la siguiente manera:
<div class="g-container g-static">
<div class="g-row g-static">
<div class="g-col g-static">
.g-240 .g-320
.g-480 .g-720
Altura fija de 240px, 320px, 480px y 720px, se usan para definir un alto mínimo para la interfaz antes de que aparezca el scroll, debe ser usado solo de la siguiente manera:
<div class="g-container g-static g-480">
<div class="g-container g-480">

Ejemplos prácticos

A continuación, se presentan las estructuras más comunes resueltas con cs-layout. Copia y pega estas estructuras HTML para iniciar tu proyecto.

Ejemplo # 1 (Diseño con solo filas)

<div class="g-container">
	<div class="g-row">
		<div class="g-cell">row # 1</div>
		<div class="g-cell">row # 2</div>
		<div class="g-cell">row # 3</div>
	</div>
</div>

Ejemplo # 2 (Diseño con solo columnas)

<div class="g-container">
	<div class="g-col">
		<div class="g-cell">row # 1</div>
		<div class="g-cell">row # 2</div>
		<div class="g-cell">row # 3</div>
	</div>
</div>

Ejemplo # 3 (Diseño básico de aplicación)

<div class="g-container">
	<div class="g-row">
		<div class="g-cell-auto">header</div>
		<div class="g-cell">main</div>
		<div class="g-cell-auto">footer</div>
	</div>
</div>

Ejemplo # 4 (Diseño simple con menú lateral)

<div class="g-container">
	<div class="g-row">
		<div class="g-cell-auto">header</div>
		<div class="g-cell">
			<div class="g-col">
				<div class="g-cell-auto">aside</div>
				<div class="g-cell">main</div>
			</div>
		</div>
		<div class="g-cell-auto">footer</div>
	</div>
</div>

Ejemplo # 5 (Diseño robusto con menú lateral y barra de navegación)

<div class="g-container">
	<div class="g-row">
		<div class="g-cell-auto">header</div>
		<div class="g-cell-auto">nav</div>
		<div class="g-cell">
			<div class="g-col">
				<div class="g-cell-auto">aside</div>
				<div class="g-cell">
					<div class="g-row">
						<div class="g-cell">main</div>
						<div class="g-cell-auto">footer</div>
					</div>
				</div>
			</div>
		</div>
	</div>
</div>

Ejemplo # 6 (Diseño robusto anidado)

<div class="g-container">
	<div class="g-row">
		<div class="g-cell-auto header">header 1</div>
		<div class="g-cell-auto nav">nav 1</div>
		<div class="g-cell">
			<div class="g-col">
				<div class="g-cell-auto aside">aside 1</div>
				<div class="g-cell">
					<div class="g-row">
						<div class="g-cell main" style="padding: 30px;">
							<div class="g-row">
								<div class="g-cell-auto header">header 2</div>
								<div class="g-cell-auto nav">nav 2</div>
								<div class="g-cell">
									<div class="g-col">
										<div class="g-cell-auto aside">aside 2</div>
										<div class="g-cell">
											<div class="g-row">
												<div class="g-cell main">main 2</div>
												<div class="g-cell-auto footer">footer 2</div>
											</div>
										</div>
									</div>
								</div>
							</div>
						</div>
						<div class="g-cell-auto footer">footer 1</div>
					</div>
				</div>
			</div>
		</div>
	</div>
</div>

Ejemplo # 7 (Diseño robusto aplicable)

Soporte o contacto

¿Tienes problemas? Ponte en contacto con wilnicho@gmail.com