Creación de un Componente de Cart en JavaScript y CSS
Clase 8 de 21 • Curso de Storybook: Sistemas de Diseño con JavaScript
Resumen
¿Cómo se crea un componente de 'cart' en JavaScript?
Crear un componente de 'cart' desde cero es una excelente manera de mejorar tus habilidades de programación y diseño web. Este proceso implica el uso de JavaScript, HTML y conocimientos en CSS para dotar al componente de funcionalidad y estilos personalizados. Veamos cómo se estructura este componente.
¿Cómo se estructura el 'cart'?
La estructura básica de un 'cart' en HTML se compone de varios contenedores. Aquí está el esqueleto del componente:
function createCart({ size = 'small', title, description }) {
// Creación de elementos HTML
const cart = document.createElement('div');
const avatar = document.createElement('div');
const content = document.createElement('div');
const heading = document.createElement('h3');
const paragraph = document.createElement('p');
// Estructura del árbol de elementos
cart.appendChild(avatar);
cart.appendChild(content);
content.appendChild(heading);
content.appendChild(paragraph);
// Asignación de texto
heading.textContent = title;
paragraph.textContent = description;
// Asignación de clases para CSS futuro
cart.className = [`cart`, `cart--${size}`].join(' ');
avatar.className = 'cart__avatar';
content.className = 'cart__content';
return cart;
}
¿Cuáles son los parámetros y por qué son importantes?
El componente acepta varios parámetros clave que definen su funcionalidad y apariencia:
- size: Define el tamaño del 'cart'; puede ser 'small' o 'medium'. Este parámetro es crucial para ajustar la presentación visual del componente.
- title y description: Establecen el texto mostrado en el 'cart'. Estos permiten actualizar dinámicamente el contenido del componente sin modificar la estructura del HTML.
¿Cómo se organizan los elementos en el DOM?
Un paso esencial en la creación del componente es definir cómo se organizan los elementos en el árbol del DOM, que determina la jerarquía de los mismos. El código anterior implementa esta estructura y facilita el estilo futuro mediante el uso de flexbox
:
- cart es el contenedor principal que envuelve a todos los elementos.
- avatar y content son hijos del componente principal, mientras que heading y paragraph son hijos de content.
¿Cómo se asignan las clases para CSS?
La asignación de clases a cada elemento es fundamental para aplicar los estilos con CSS. En este caso, se utilizan clases que siguen el método BEM (Block, Element, Modifier), lo que garantiza una estructura clara y ordenada para el diseño:
cart
: Es la clase base que representa el componente.cart--size
: Modifica el componente según el tamaño especificado.cart__avatar
ycart__content
: Son subelementos del 'cart', cuya nomenclatura está basada en BEM.
El uso de estas clases permite que el 'cart' sea fácilmente estilable y adaptable, lo cual es fundamental en el desarrollo web moderno. Así, se puede lograr un diseño responsivo utilizando flexbox
para alinear los elementos horizontalmente o en columna, de acuerdo con el tamaño u otras condiciones CSS.
¿Algún consejo práctico adicional?
Cuando desarrolles componentes como este, intenta visualizar cómo se comportarán y verás el código como un esquema. Esto te ayudará no solo a escribir código más eficiente, sino también a anticipar problemas de diseño. Además, explorando el uso de Flexbox y otras técnicas modernas de CSS, como Container Queries, podrás mejorar aún más la responsividad y adaptabilidad de tus componentes.
¡Ánimo! El aprendizaje continuo en JavaScript y CSS te abrirá un mundo de posibilidades en el diseño y desarrollo web.