Diseño web para niños diseño CSS

Bienvenido a la sexta lección de nuestra serie Diseño web para niños, Diseño de CSS!

Aquí es donde colocamos todos nuestros elementos exactamente donde los queremos en la pantalla. Vamos a agregar a nuestros archivos HTML y CSS para hacerlo.

Para recordarte, echa un vistazo al sitio web que estamos construyendo. Los archivos para este curso se pueden descargar aquí y no olvide hacer cualquier pregunta que tenga en la sección de comentarios al final de esta página..

Antes de que comencemos

Hay algunas cosas que necesitamos saber antes de saltar directamente a diseño. En esta primera sección veremos cómo estar organizados. Cubriremos algunos conceptos básicos de posicionamiento y hablaremos sobre qué tipo de CSS propiedades se utilizan para el diseño.

Pedidos de CSS

Mantener un documento CSS organizado es muy importante. La organización adecuada nos facilitará la búsqueda de todas las piezas dentro de nuestro archivo, lo que facilitará el cambio y la adición de elementos más adelante. En general, lo mejor es pedir nuestro CSS. declaraciones En el orden que tengan lugar en la página..

Estaremos agregando estilos en esta lección a principal, por ejemplo. Este estilo agregado en un elemento tan importante debe incluirse en nuestro documento CSS antes de Cualquier otro elemento que esté anidado dentro. principal.

El modelo de caja

Los elementos HTML son un poco como cajas rectangulares. los Modelo de caja CSS Describe el espaciado de estas cajas..

Cada caja tiene cuatro lados. Podemos aplicar un valor a los cuatro lados a la vez en nuestro CSS a través de relleno, frontera, y / o margen. Sin embargo, si queremos estilizar un lado de un elemento, también podemos hacerlo. Por ejemplo:

relleno-izquierda: 20px; borde: 4px sólido # 205D76;

Digamos que este cuadro rosa representa texto. Podemos ver que se ha añadido el relleno. solamente A la izquierda y un borde azul grueso cubre. todos cuatro lados del contenido.

Flexbox

CSS nos brinda un conjunto de propiedades hechas especialmente para ayudarnos con el diseño de nuestro sitio web. Así que mientras el modelo de caja ayuda a explicar la espaciado alrededor de elementos HTML, flexbox nos permitirá movimiento estos elementos en su lugar.

Cuando usamos flexbox en un elemento contenedor, este elemento se convierte en un contenedor flexible y todos los elementos dentro de ella se convierten elementos de flexión.

Cuando aplicamos flexbox a un contenedor, automáticamente colocará los elementos a lo largo de una línea recta (horizontalmente) y luego podremos entrar en más detalles con otras propiedades de flexbox..

No necesitaremos utilizar flexbox demasiado para nuestro sitio web, pero es importante pensar en flexbox ya que se considera la forma más moderna y adecuada de colocar pequeños fragmentos de contenido en un sitio web..

Encabezamiento

los h1 y la imagen de la ciudad dentro de la encabezamiento Están centrados en la página. Hay varias formas diferentes de centrar algo con CSS, pero por ahora usaremos text-align: center; sobre el encabezamiento.

Señalaremos el encabezado utilizando su nombre de clase que agregamos anteriormente:

.primary-header text-align: center; 

No te olvides! Guarde los documentos y actualice el navegador para ver nuestros cambios a medida que los hacemos.!

Secciones

Lo primero que querremos hacer con nuestras secciones es hacer que el contenido, la imagen y la lista, dentro de cada sección se sientan uno al lado del otro en lugar de apilarlos..

Para lograrlo utilizaremos flexbox. Flexbox se aplica a los elementos dentro de un elemento contenedor mediante el uso de pantalla: flexión; en el contenedor:

.sección de tienda display: flex; pantalla: -webkit-flex; / * Este es un prefijo de vendedor! * /

Para devolver esto a lo que hablamos antes, la imagen y div que contiene la lista de la tienda son ahora elementos de flexión, porque están dentro de esto contenedor flexible.

Si bien hay muchas opciones para especificar exactamente dónde debe ir un elemento, el comportamiento predeterminado de flexbox aquí funciona perfectamente para nosotros, y nuestra lista de tiendas ahora se encuentra a la derecha de la imagen de la tienda..

Una nota sobre "Prefijos de proveedores"

Dado que Flexbox es bastante nuevo, no todos los navegadores han tenido la oportunidad de incluirlo correctamente. Para solucionar esto podemos incluir un prefijo de proveedor a las propiedades de flexbox, agregando este soporte faltante por el momento. Aunque solo estamos enfocados en las versiones más recientes de los navegadores modernos para este proyecto, todavía necesitaremos incluir un -webkit- prefijo del proveedor para flexbox para asegurarse de que funciona en "Safari".

Imágenes y listas

Podríamos usar un poco de espacio entre la imagen y el elemento que contiene todo el texto, así que en nuestro HTML, agreguemos una clase de detalles de la tienda al div conteniendo el texto.

Después de guardar esto, podemos saltar a nuestro CSS y agregar este espacio, pero solo al izquierda de la div:

.detalles de la tienda margin-left: 30px; 

Espaciado de lista predeterminado

Hay un espacio a la izquierda de las listas desordenadas de nuestra tienda. Esto es porque hay algunos estilo predeterminado que viene junto con el uso de una lista HTML. A veces, este estilo predeterminado está bien, y otras veces puede que no produzca el efecto que estamos buscando..

Podemos deshacernos de este espaciado de lista predeterminado usando relleno: 0; en la lista desordenada, pero eso causaría que nuestros puntos de bala vayan demasiado hacia la izquierda en comparación con el encabezado de nuestra lista.

Queremos un poco de relleno aquí, pero no tanto como lo proporciona el estilo predeterminado de la lista. Configuración de un relleno izquierdo de 15px en la lista alinearemos nuestros puntos con el encabezado bastante bien, por lo que agregaremos esto además de las cosas que agregamos a la lista en la lección anterior:

.store-list padding-left: 15px; / * estilo recientemente añadido * / color: # FFC122; 

Espacio entre los elementos de la lista

Todavía tenemos el tema que mencionamos en la lección anterior con los elementos de la lista demasiado juntos. Para resolver esto vamos a agregar una clase de nombre de la tienda a todos los elementos de la lista,

  • , en nuestro HTML. Luego agregaremos un pequeño margen a la fondo de estos articulos.

    .nombre de tienda margin-bottom: 10px; 

    Márgenes y Centrado

    El espacio debe agregarse a las secciones, así como centrarlas en la página. Haremos esto a través del margen y anchura propiedades.

    De nuevo, estaremos agregando al estilo que ya hemos escrito:

    .sección de tienda display: flex; pantalla: -webkit-flex; margen: 50px auto; ancho: 450px; 

    los 50px valor dentro de margen Aquí está aplicando esa cantidad de espacio en el parte superior de cada sección de tienda. Siguiendo esto con auto le dice al navegador que considere el ancho del elemento (que configuramos para 450px) y centrarlo dentro de la ventana del navegador automáticamente.

    Pie de página

    Para nuestro pie de página Centraremos el texto y añadiremos una pequeña cantidad de relleno para asegurarse de que este texto no esté demasiado cerca de los bordes del pie de página.

    .Primary-footer padding: 2px; text-align: center; color de fondo: # FFC122; 

    Margen Corporal

    Nosotros hablamos acerca de estilo predeterminado un poco cuando estábamos poniendo nuestras listas en su lugar. los cuerpo El elemento viene con sus propios estilos por defecto, uno de los cuales es un margen Que rodea toda la página. Si bien a veces esto no es un problema, podemos ver que está evitando la color de fondo de nuestro pie de página de estirarse completamente a los lados de la ventana del navegador.

    La solución aquí es volver al cuerpo en nuestro documento CSS y agregar lo siguiente:

    cuerpo margen: 0; 

    Conclusión

    En este curso tenemos todos nuestros elementos en su lugar con técnicas de diseño CSS. Si bien suele haber varias formas diferentes de lograr un diseño específico, sentirse más cómodo con el modelo de caja CSS y flexbox proporciona una comprensión muy sólida de estos diferentes enfoques..

    Ya que nuestro sitio está completo (¡felicidades!) Hablaremos todo sobre diseño, tipografía, y color En las lecciones a seguir. Esto te ayudará a convertirte en un diseñador web bien informado y completo..

    Te veo por la ciudad!