Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Una cuadrícula es un conjunto de líneas horizontales y verticales que se intersectan - un grupo define
columnas y el otro filas. Los elementos se pueden colocar en la cuadrícula respetando estas columnas y filas.
Grid contiene características de alineación para poder controlar la forma cómo se alinean los elementos
una vez colocados en un área de cuadrícula y cómo está alineada toda la cuadrícula.
Se puede colocar más de un elemento en una celda de la cuadrícula o área, las cuales pueden solaparse
o superponerse total o parcialmente entre sí, esto puede ser controlado con la propiedad z-index.
Grid es una poderosa especificación que, cuando se combina con otras partes de CSS como flexbox, puede
ayudar a crear diseños que antes eran imposibles de construir en CSS. Todo comienza creando una
cuadrícula en su contenedor de cuadrícula.
contenedor de grid
Creamos un contenedor de cuadrícula al declarar display: grid o display: inline-grid en un elemento.
Tan pronto como hagamos esto todos los hijos directos de ese elemento se convertirán en
elementos de la cuadrícula.
.contenedor {
display: grid;
}
vías, filas y columnas del Grid
�Definimos filas y columnas en nuestra cuadrícula con las propiedades grid-template-columns y
grid-template-rows. Éstas definen las vías de la cuadrícula. Una vía de cuadrícula es el área entre las
dos líneas -horizontales o verticales- dentro de la cuadrícula.
.contenedor {
display: grid;
grid-template-columns: 200px 200px 200px;
}
unidad FR�
La unidad fr representa una fracción del espacio disponible en el contenedor de la cuadrícula.
.contenedor {
display: grid;
grid-template-columns: repeat(3, 1fr);
}
La notación de repetición se puede utilizar para una parte del listado de vías. En este siguiente
ejemplo se creó una cuadrícula con una vía inicial de 20 píxeles, luego una sección repetitiva de
6 vías de 1fr y luego una vía final de 20 píxeles.
.contenedor {
display: grid;
grid-template-columns: 20px repeat(6, 1fr) 20px;
}
posicionando elementos
de acuerdo a las líneas
Estaremos explorando la colocación basada en líneas, el siguiente ejemplo demuestra cómo hacer
esto de una manera sencilla.
index.html style.css
Se tiene un contenedor div con una clase
<div class="boxes"> .boxes {
“boxes”, dentro hay cinco elementos hijos con <div class="box1">Uno</div> display: grid;
clases de box1 a box5 y posteriormente vemos <div class="box2">Dos</div> grid-template-columns: repeat(3, 1fr);
<div class="box3">Tres</div> grid-auto-rows: 100px;
su CSS. <div class="box4">Cuatro</div> }
<div class="box5">Cinco</div>
Posicionamos los dos primeros elementos en la </div> .box1 {
cuadrícula de tres vías de columna, usando las grid-column-start: 1;
grid-column-end: 4;
propiedades grid-column-start, grid-column-end, grid-row-start y grid-row-end. grid-row-start: 1;
grid-row-end: 3;
Trabajando de izquierda a derecha, el primer elemento se coloca partiendo de la línea de }
.box2 {
la columna 1, y se extiende a la línea de la columna 4, que en nuestro caso es la línea que grid-column-start: 1;
está más a la derecha en la cuadrícula. Y comienza en la línea de la fila 1 y termina en la grid-row-start: 3;
grid-row-end: 5;
línea de la fila 3, por lo tanto, se extiende sobre dos filas. }
También se pueden especificar múltiples condiciones en una sola regla @media. Por ejemplo, si quieres
aplicar un estilo solo para pantallas con un ancho de pantalla entre 600px y 800px,
se puede usar la siguiente regla:
La propiedad min-width, por otro lado, toma el valor inicial que le has asignado y aplica los estilos dentro
de la regla del media query hasta que se proporcione el siguiente max-width.
El enfoque mobile first se ha vuelto cada vez más importante en los últimos años
debido al aumento del uso de dispositivos móviles para navegar en Internet.
Esto significa que es cada vez más probable que los usuarios accedan a un
sitio web desde un dispositivo móvil, por lo que es esencial ofrecer una
experiencia de usuario óptima en estos dispositivos.
ejemplo con flexbox
index.html style.css
<!DOCTYPE html> .contenedor {
<html lang="en"> display: flex;
<head> flex-wrap: wrap;
<title>Ejemplo de Media query</title> width: 980px;
<link rel="stylesheet" href="style.css" /> margin: 0 auto;
</head> margin-top: 40px;
<body> }
<div class="contenedor"> @media only screen and (min-width: 320px) and (max-width: 576px) {
<div class="cajas caja1"> .contenedor {
<h1>Primera Caja</h1> width: 100%;
<p> padding-left: 23px;
Información en la primera caja flex-direction: column-reverse;
</p> }
</div> .cajas {
<div class="cajas caja2"> width: 100%;
<h1>Segunda Caja</h1> }
<p> }
Información en la segunda caja
</p>
</div> La media query tiene un ancho mínimo de 320px y un ancho máximo de 576px.
</body>
</html> Esto sólo significa que todos los estilos que irán en esta regla sólo serán aplicables
a los dispositivos con anchos extra-pequeños y pequeños.
El diseño de las cajas también cambia en este rango de ancho particular. Eso se
debe a que el selector .container tiene su propiedad flex-direction cambiada de
row a column-reverse.