Icono del sitio ZimbronApps

Diseño responsivo

Hola, en esta ocasión te hablaré sobre el diseño web responsivo y algunos de sus conceptos generales, sobre como implementar un diseño web que sea adaptable a la pantalla de cualquier dispositivo.

Crear un sitio web responsivo puede ser un dolor de cabeza al principio, pero una vez que comprendas los fundamentos básicos, estarás listo para avanzar.

¿Qué es un sitio web responsivo?

Los sitios web responsivos permiten que los sitios y las páginas web se muestren en todos los dispositivos y tamaños de pantalla adaptándose automáticamente a la pantalla, ya sea una computadora de escritorio, laptop, tablet o un smartphone. Esto se logra trabajando con CSS usando varias configuraciones para brindar la mejor experiencia visual al usuario. Para comprender mejor esto, te mencionaré los conceptos básicos como Media Queries y Unidades CSS para que puedas aplicarlo a tu diseño web.

Media Queries

Las Media Queries son condiciones que aplica CSS. Le dice al navegador que agregue o elimine determinadas reglas CSS según las características específicas del dispositivo. A medida que cambia el tamaño de la pantalla, necesitamos reorganizar nuestro diseño web. Normalmente, se estructuraría verticalmente a medida que disminuye el tamaño de la pantalla.

La sintaxis de las Media Queries es la siguiente:

@media <tipo-media> and (expresion){
    /* CSS aplicado si la condición se cumple*/
}

A continuación te muestro un ejemplo de la vida real de Media Query:

@media (max-width: 400px) {
  .proyecto, .contenedor, .img {
    width: 80%;
    padding-right: 20%;
  }
}

En este ejemplo no se usa el <tipo-media> opcional, se indica la condición max-width 400px (el punto de quiebre) que le dice al navegador que las reglas dentro de esta Media Query deben limitarse a los dispositivos que tengan un ancho de pantalla máximo de 400px. Dentro de las llaves tenemos el código CSS que se aplicaría, en este caso afectaría a las clases: «proyecto», «contenedor» e «img».

Unidades CSS

Las Unidades CSS determinan el tamaño de una propiedad que estás configurando para un elemento determinado o su contenido.

por ejemplo:

font-size: 12px;

El tamaño de fuente es la propiedad y 12px es el valor de la propiedad. El pixel (px) es una unidad de css.

Las unidades se pueden clasificar en Absolutas y Relativas:

UNIDADES ABSOLUTASUNIDADES RELATIVAS
Valores fijos
No se escalan cuando cambia el tamaño de la pantalla.
Valores escalados
Escalan en relación a otra cosa.
cm – centimeters
mm – millimeters
in – inches (1in = 96px = 2.54cm)
px – pixels (1px = 1/96th of 1in)
pt -points (1pt = 1/72 of 1in)
pc – picas (1pc = 12 pt)
em – Relativo al tamaño de la fuente del elemento.

ex – Relativo a la altura x de la fuente actual (rara vez se usa)

rem – Relativo al font-size del elemento raíz

vw , vh – Relativo al viewport (pantalla) 100vw = 100% ancho de la pantalla

% – Relativo a su padre

Las unidades relativas son las que nos ayudarán a construir sitios web responsivos.

Relativo a sus padres (%):

div.padre {
  background-color: red;
  width: 100%
}
div.hijo {
  background-color: blue;
  width: 50%
}

En el ejemplo, dentro del div padre tenemos un div hijo. El hijo tendrá el 50% el ancho del padre.

Viewport / Ventana gráfica (vw, vh)

Tamaño de fuente (em, rem)

<!DOCTYPE html>
<html lang="es">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Ejemplo Em</title>
</head>

<body>

    <div class="padre">
        <div class="hijo1">Hijo 1</div>
        <div class="hijo2">Hijo 1</div>
    </div>

    <style>
        .padre {
            font-size: 10px;
        }

        .hijo1 {
            font-size: 2em;
        }

        .hijo2 {
            font-size: 4em;
        }
    </style>
</body>

</html>

En este ejemplo el div «padre» tiene un tamaño de fuente de 10px, div «hijo1» tiene un tamaño de fuente de 2em, es decir 2 veces el tamaño de fuente del padre, en este caso 20px, div «hijo2» tiene un tamaño de fuente de 4em (4 veces el tamaño de fuente del padre).

html{
    font-size: 20px;
}
.clase1{
    font-size: 2rem;
}
.clase2{
    font-size: 3rem;
}

En este ejemplo la fuente raíz tiene un tamaño de 20px, los elementos con la clase1 tendrán un tamaño de fuente de 2 veces el tamaño de la fuente raíz, es decir 40px, los elementos de la clase2 tendrán un tamaño de fuente de 60px.

Es recomendable aplicar las unidades relativas a nuestros diseños web para hacerlos responsivos, puedes ir y cambiar los valores por unidades relativas donde sea necesario.

Si quieres aprender más sobre el diseño responsivo puedes entrar a la siguiente página:

https://www.w3schools.com/css/css_rwd_intro.asp

Salir de la versión móvil