馃摝 Uso de m贸dulos CSS en React para estilos encapsulados

M贸dulos CSS en React

馃摝 Uso de m贸dulos CSS en React para estilos encapsulados

Los CSS Modules son una t茅cnica para escribir CSS en React de forma que los estilos est茅n encapsulados en un componente espec铆fico, evitando conflictos con otros estilos del proyecto.


1️⃣ ¿C贸mo crear un m贸dulo CSS?

Basta con nombrar tu archivo con la extensi贸n .module.css:

/* Boton.module.css */
.boton {
  background-color: #27ae60;
  color: white;
  padding: 10px 20px;
  border-radius: 6px;
  border: none;
  cursor: pointer;
}

.boton:hover {
  background-color: #2ecc71;
}
  

2️⃣ C贸mo usar CSS Modules en React

Importa el m贸dulo CSS en tu componente y usa la clase como propiedad:

/* Boton.js */
import styles from './Boton.module.css';

function Boton() {
  return <button className={styles.boton}>Click aqu铆</button>;
}

export default Boton;
  

3️⃣ Ventajas de CSS Modules

  • ✅ Encapsula estilos en componentes, evitando conflictos globales.
  • ✅ Facilita la reutilizaci贸n de componentes con estilos propios.
  • ✅ Permite combinar con CSS tradicional o CSS-in-JS seg煤n necesidad.
  • ✅ Genera nombres de clases 煤nicos autom谩ticamente para evitar colisiones.

4️⃣ Ejemplo avanzado: varios estilos

/* Tarjeta.module.css */
.tarjeta {
  border: 1px solid #ccc;
  border-radius: 8px;
  padding: 20px;
  text-align: center;
  background-color: #f7f7f7;
}

.titulo {
  color: #34495e;
  font-size: 20px;
  margin-bottom: 10px;
}

/* Tarjeta.js */
import styles from './Tarjeta.module.css';

function Tarjeta({ titulo, contenido }) {
  return (
    <div className={styles.tarjeta}>
      <h2 className={styles.titulo}>{titulo}</h2>
      <p>{contenido}</p>
    </div>
  );
}

export default Tarjeta;
  

T铆tulo de la tarjeta

Contenido de ejemplo dentro de la tarjeta.


5️⃣ Buenas pr谩cticas

  • ✅ Usar nombres descriptivos para los m贸dulos y las clases.
  • ✅ Evitar estilos globales innecesarios.
  • ✅ Mantener consistencia en la nomenclatura y la organizaci贸n de archivos.

6️⃣ Resumen

Los CSS Modules ofrecen una forma segura y limpia de aplicar estilos en React. Permiten encapsular cada estilo dentro de su componente, evitando conflictos y facilitando el mantenimiento.



7️⃣ Ejemplo avanzado: botones con distintos colores

Puedes crear varios botones con estilos diferentes usando CSS Modules:

/* Botones.module.css */
.verde {
  background-color: #27ae60;
  color: white;
  padding: 10px 20px;
  border-radius: 6px;
  border: none;
  cursor: pointer;
}

.azul {
  background-color: #2980b9;
  color: white;
  padding: 10px 20px;
  border-radius: 6px;
  border: none;
  cursor: pointer;
}

.rojo {
  background-color: #c0392b;
  color: white;
  padding: 10px 20px;
  border-radius: 6px;
  border: none;
  cursor: pointer;
}

/* Botones.js */
import styles from './Botones.module.css';

function Botones() {
  return (
    
      
      
      
    
  );
}

export default Botones;

8️⃣ Ejemplo avanzado: varias cards con colores diferentes

Cada card puede tener su propio color de fondo usando CSS Modules:

/* Cards.module.css */
.card {
  border-radius: 8px;
  padding: 20px;
  color: white;
  text-align: center;
}

.azul { background-color: #3498db; }
.naranja { background-color: #e67e22; }
.morada { background-color: #9b59b6; }

/* Cards.js */
import styles from './Cards.module.css';

function Cards() {
  return (
    
      

Card Azul

Contenido de ejemplo para la card azul.

Card Naranja

Contenido de ejemplo para la card naranja.

Card Morada

Contenido de ejemplo para la card morada.

); } export default Cards;

Card Azul

Contenido de ejemplo para la card azul.

Card Naranja

Contenido de ejemplo para la card naranja.

Card Morada

Contenido de ejemplo para la card morada.

Publicar un comentario

0 Comentarios