No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Aprovecha el precio especial y haz tu profesión a prueba de IA

Antes: $249

Currency
$209
Suscríbete

Termina en:

0 Días
0 Hrs
49 Min
34 Seg

Modificando estilos en HTML

8/27
Recursos

¿Cómo modificar estilos CSS con JavaScript?

Modificar estilos CSS mediante JavaScript es esencial para crear webs dinámicas e interactivas. Este proceso permite cambiar características visuales del HTML según el comportamiento del usuario. Aquí exploraremos cómo lograrlo usando la consola del navegador y las propiedades adecuadas.

¿Qué son las propiedades style y cómo se usan en JavaScript?

JavaScript proporciona múltiples formas para modificar estilos, empezando con la propiedad style. Esta herramienta permite agregar estilos en línea directamente en el HTML, pero requiere precaución: los estilos en línea poseen alta especificidad, sobreescribiendo potencialmente estilos predefinidos en clases CSS.

const title = document.querySelector('h1');
title.style.color = 'red';

Con este código, estamos cambiando el estilo del encabezado h1 para que el texto sea rojo. Esto se reflejará directamente en el HTML, como un estilo en línea.

¿Qué problemas puede causar el uso de la propiedad style?

Al usar la propiedad style, un error común es reescribir estilos no deseados, perdiendo consistencia visual. Por ejemplo, cambiar el color de fondo de un menu así:

const menu = document.querySelector('.menu');
menu.style.backgroundColor = 'red';

Aunque el estilo original puede ser azul en CSS, el uso de estilos en línea prevalecerá, cambiándolo a rojo.

¿Cómo utilizar className para modificación de estilos?

Otra opción es className, la cual modifica directamente las clases existentes en un elemento. Es importante saber que className reemplazará cualquier clase existente con una nueva.

menu.className = 'main-menu';

Esto cambiará cualquier clase previa aplicada al menu por main-menu. Valores CSS anteriores se perderán si no están definidos en la nueva clase.

¿Consejos para trabajar con estilos en JavaScript?

  • Precaución con la especificidad: Usar estilos en línea puede alterar el diseño por sobreescribir CSS preexistentes.
  • Utilizar className sabiamente: Al añadir o cambiar una clase, asegúrate de que no se pierdan estilos necesarios.
  • Conocer las propiedades disponibles: Familiarízate con las listas de propiedades CSS que puedes manipular mediante JavaScript.

Modificar estilos con JavaScript es poderoso y flexible, pero hacerlo correctamente asegura la estabilidad y estética del proyecto. Explora estas técnicas, práctica, y agrega nuevas capas de interacción a tus proyectos web. ¡Sigue explorando y desarrollando habilidad en el fascinante mundo del desarrollo web!

Aportes 14

Preguntas 2

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Agradezco mucho que no editen los vídeos para que no se vean los errores o typos de los profesores. Sería muy sencillo que lo eliminaran y, sin embargo, no podríamos ver el proceso completo. ```js 🫡 document.querySelector('h1') ```
La propiedad se llama `className` en JavaScript, pero en HTML se utiliza simplemente `class`. Esto se debe a que la palabra `class` en JavaScript ya está reservada para crear clases en programación orientada a objetos.
Lo que yo entendi hace tiempo es que cuando agregamos estilos directamente en las etiquetas html se lo conoce como estilos embebidos y por la especificidad tomara como mas importante ese estilo antes que el del css, si no estoy mal cuando carga toda la pagina web empieza por el html luego el css y por ultimo js este siempre y cuando lo colequemos al final y no en el head. Por favor si estoy mal agradeceria su aporte.
Sí, puedes agregar clases dinámicamente en Tailwind CSS utilizando JavaScript, similar a lo que se enseña en la clase sobre manipulación del DOM. Con JavaScript, puedes modificar el `className` de los elementos HTML para añadir o quitar clases de Tailwind según la interacción del usuario o condiciones específicas en tu aplicación. Esto te permite aprovechar la utility-first approach de Tailwind para aplicar estilos de manera eficiente.
### **Métodos y Propiedades para Editar Estilos en JavaScript** #### **1. Propiedad** `.style` **(No Recomendada)** * Modifica directamente los estilos en línea de un elemento. * **Problema:** Sobrescribe los estilos en línea existentes, pero **no afecta** los estilos aplicados mediante CSS o clases. * **¿Cuándo usarla?** Solo para cambios rápidos, como animaciones o actualizaciones dinámicas. #### **2.** `className` **(Recomendada para Tailwind y clases de CSS)** * Permite reemplazar la clase existente de un elemento con una nueva. * **Problema:** Usar `className` **elimina todas las clases existentes**, lo que puede causar pérdida de estilos no deseada. * **Mejor alternativa:** Usar `.classList.add()`, `.classList.remove()`, o `.classList.toggle()` para mayor flexibilidad.
En esta clase se hablan de 2 formas de modificar los estilos ( creo que el profesor dijo que eran 3 pero solo dijo dos, revise la clase muchas veces porque siempre pense que era mi yo que se distraia facil): modificar el atributo style: tener en cuenta que por jerarquia esto sobre escribira cualquier otra regla en el css pues es agregar un estilo en linea dentro del html modificar el atributo className, para que se le aplique otro set de reglas previamente definido en el css con ese nuevo nombre de clase.
¿Pero porqué sería un problema hacer eso en consola? El cambio no es permanente, así que no veo el problema de cambiar el estilo así en consola. Por otro lado, pensaba que clase tenía mayor especificidad que en línea pero veo que lo estaba confundiendo con agregar estilos en el head
![](https://static.platzi.com/media/user_upload/Captura%20de%20pantalla%202025-01-14%20151847-7b9a19b5-276a-43ab-acbd-2b9de80651b2.jpg)
El método `querySelector` permite seleccionar elementos en el DOM utilizando selectores CSS. La razón por la que puedes usar `querySelector` con o sin el punto al principio es que, al usar un selector de clase, un punto (`.`) indica que estás buscando una clase específica, mientras que si omites el punto, podrías estar refiriéndote al nombre de la etiqueta. Por ejemplo: - `.mi-clase` selecciona elementos con la clase `mi-clase`. - `h1` selecciona todos los elementos `

`, sin importar las clases. El uso correcto depende de lo que quieras seleccionar.

Y si usamos el attribute classList con sus methods .add() y .remove() podemos agregar classes sin eliminar las que ya existan o eliminar.
![](https://static.platzi.com/media/user_upload/image-62ba4801-3cf0-4e08-ba96-15f8a3e3c616.jpg) Aquí les dejo la representación del css en el inspector de como el estilo en linea anula el estilo que ya tenemos definido previamente.
Agregar estilos en línea con el atributo `style` en HTML puede considerarse una mala práctica. Esto se debe a que los estilos en línea tienen alta especificidad, lo que puede llevar a conflictos y dificultades en el mantenimiento del código. Es preferible usar clases CSS en hojas de estilo externas o internas, ya que permite una mejor organización, reutilización y mantenimiento. La manipulación de estilos con JavaScript debe hacerse con precaución para evitar sobreescrituras inesperadas de estilos existentes.
Buenas noches alguien sería tan amable de explicarme un punto. Si tengo mi Hoja de estilos fuera de mi hoja de HTML, pero ya la tengo vinculada, como puedo hacer para acceder desde JavaScript a mi hoja de estilos
classList rules the world 🥳