CSS duplicado
Gracias por informar de esto, @sammrafi. Buena pregunta sobre CSS duplicado. El enfoque recomendado con StyleManager es usar la API orientada a eventos. Empieza aquí: Consulta la documentación de GrapesJS de tu módulo específico Busca el método del oyente de eventos 'on()' La mayoría de las operaciones se pueden reali...
Lee la respuesta completa abajo ↓Pregunta
Versión GrapesJS
- Confirmo que se debe usar la última versión de GrapesJS
¿Qué navegador usas?
116.0.5845.187 (Versión oficial) (64 bits)
Enlace de demo reproducible
https://jsfiddle.net/bw4Lxp6c/
Describe el bicho
¿Cómo reproducir el bicho? Cuando añado una columna, genera CSS duplicado en @media (ancho máximo: 768px)
¿Cuál es el comportamiento esperado? El código CSS debería generarse una vez.
¿Cuál es el comportamiento actual? Duplicando código CSS en @media (ancho máximo: 768px)
Si es necesario ejecutar algo de código para reproducir el error, pégalo aquí abajo: '''js
<div temporary=""> <div> </div> </div> <div class="row"> <div class="cell"> <section class="bdg-sect"> <h1 class="encabezado">Insertar título aquí </h1> <p class="paragraph">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua </p> </section> </div> <div class="cell"> <img src="/media/images/service_images/Home_page.png" class="c2666"/> </div> </div> <style>* { Tamaño de caja: caja de borde; } cuerpo { marje: 0; } .row{ pantalla:flex; justificar-contenido:flex-start; alinear-ítems:estirar; Envoltura flexible: sin envoltorio; Acolchado: 10px; relleno-derecha: 10px; relleno-abajo: 10px; relleno-izquierda: 10px; } .cell{ Altura mínima: 75px; flex-crecimiento:1; Base flexible: 100%; } *{ tamaño de caja: caja de borde; } body{ margen-top:0px; margen-derecha:0px; margen-bottom:0px; margen-izquierda:0px; } .c2666{ color: negro; ancho:567px; Altura: 403px; } @media (ancho máximo: 768px){ .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } .row{ Envoltura flexible: envolviente; } } </style> ```Código de conducta
- Acepto seguir el Código de Conducta de este proyecto
Respuestas (1)
Gracias por informar de esto, @sammrafi.
Buena pregunta sobre CSS duplicado. El enfoque recomendado con StyleManager es usar la API orientada a eventos.
Empieza aquí:
- Consulta la documentación de GrapesJS de tu módulo específico
- Busca el método del oyente de eventos 'on()'
- La mayoría de las operaciones se pueden realizar escuchando eventos del editor y de los componentes
Patrones comunes: '''javascript Prestad atención a los cambios editor.on('Change', () => console.log('Something Changed'));
Ciclo de vida de los componentes editor.on('component:mount', (c) => console.log('component ready', c)); editor.on('component:update', (c) => console.log('component updated', c));
**Si sigues atascado:**
- Compartir una reproducción mínima de CodeSandbox
- Incluye lo que ya has probado
- Menciona tu versión GrapesJS
- ¡La comunidad está aquí para ayudar!
Preguntas y respuestas relacionadas
Continúa investigando con debates sobre temas similares.
Issue #5424
El evento 'component:styleUpdate' no se activa
Versión GrapesJS[X] Confirmo que se debe usar la última versión de GrapesJS¿Qué navegador usas? Chrome 116.0.5845.187Enlace de demo reprodu...
Issue #4341
al añadir estilo de borde para componentes Html, css json solo busca para selector de bordes, no para selector de ancho de borde, estilo borde, color-bug:
Versión GrapesJS [X] Confirmo que se debe usar la última versión de GrapesJS ¿Qué navegador usas? Chrome v101.0.4951.54 Enlace de demo repr...
Issue #4310
Style Manager es inexacto cuando se usan selectores CSS combinados, que contienen "bout" y componentFirst = true
Versión GrapesJS [X] Confirmo que se debe usar la última versión de GrapesJS ¿Qué navegador usas? Chrome 100 Enlace de demo reproducible ht...
Issue #5173
editor. La API de Css.setRule no funciona como se espera, no está actualizando la regla existente.
Versión GrapesJS [X] Confirmo que se debe usar la última versión de GrapesJS ¿Qué navegador usas? Versión 112.0.5615.137 (Versión oficial)...
Plugins de pago que cumplen con este problema
Seleccionado por temas clave y relevancia de etiquetas para ayudarte a enviar más rápido.
Cargando recomendaciones de plugins de pago...
Consulta los plugins de código abierto de GrapesJS en GitHub O haz una búsqueda rápida en nuestro catálogo gratuito.
Explora plugins gratuitos →Los plugins premium incluyen soporte, actualizaciones regulares y funciones listas para producción — ahorrando días de trabajo de integración.
Explora plugins premium →Tutoriales relacionados
Guías detalladas sobre el mismo tema.
Tutorial
How to Build a Production GrapesJS Editor: The Complete Walkthrough of Brief, Preset, Plugins, and Services
A complete walkthrough of building a production GrapesJS editor: how to choose a preset, pick plugins, and scope setup services without burning a sprint.
Tutorial
Big Updates: TinyMCE 8 and Placeholder 2.0 for GrapesJS
In May we shipped major updates to two of our most popular GrapesJS plugins — TinyMCE Inline Text Editor and Placeholder.
Tutorial
Find the Right GrapesJS Plugin in Seconds: Smarter Discovery Is Live
We're shipping a set of discovery upgrades. New label filters, a proper compatibility switch for GrapesJS vs Studio, one-click and a smarter sort bar.
Explorar categorías de plugins
Ve directamente a las páginas de categorías de plugins en el marketplace.