Los estilos siempre se aplicaban a las clases
¿Podrías intentar añadir esto a tus opciones 'avoidInlineStyle: true' y decírmelo
Lee la respuesta completa abajo ↓Pregunta
Hola,
Tengo un problema con el estilizado de los objetos individuales.
El siguiente código html: '''html
<div class="ddm-flex-cols"> <div class="ddm-flex-cols-element"> Este es un texto </div> <div id="icbp" class="ddm-flex-cols-element"> Texto </div> </div> <style> .ddm-flex-cols { pantalla: flex; dirección flexible: fila; Margen: -16px; acolchado: 16px 0px; Envoltura flexible: envolvente; } .ddm-flex-cols-element { Flex-Grow: 2; Margen: 16px; flex-shrink: 0; Base flexible: 0; } #icbp { ancho máximo: 300px; } </style>
Está todo bien. Pero cuando hago clic en el componente con "#icbp", entonces la clase .ddm-flex-cols-element obtiene el estilo max-width.
Al configurar this.el.style mientras se renderiza, el objeto también está integrado en el CSS (solo Id), la documentación indica que los cambios en this.el no se guardarán en Components.
La reproducción con DEMO no es posible para mí porque solo ocurre con algunos estilos de lienzo cargados. Estoy usando la versión 0.14.57
Mi configuración para la reproducción:
'''Manuscrito mecanografiado
Let options = {
contenedor: 'editor de #gjs contenido',
protegidoCss: '',
Estilo: '',
lienzo: { estilos: ['/algunos/file.css'] },
};
Respuestas (3)
¿Podrías intentar añadir esto a tus opciones 'avoidInlineStyle: true' y decírmelo
Hola @artf, Sí, lo he probado, pero sigue sin éxito. Tuve tiempo de minimizar este problema a un codesandbox:
https://codesandbox.io/embed/jnplq7op55
La posición del contenido protectedCss puede variarse, ponerlo en style o en un archivo y cargarlo mediante cvanvas.style; el comportamiento se mantiene igual.
El problema desaparece con los selectores de desactivación antes de añadir componentes: '''javascript editor.on('selector:add', selector => selector.set({ activo: false, // desactivar el selector o Privado: Cierto, // ocultar el selector }));
desde #1979 (ambas versiones funcionan)
Para mí esto es una solución, pero creo que en algunos casos puede que no.
Un cordial
Vale, el problema ocurre aquí: https://github.com/artf/grapesjs/blob/e97afb429b4cada591e119025fcf34490cb0de8c/src/style_manager/index.js#L284-L285
si no existe una regla CSS con el selector que se encuentra en el componente (en nuestro caso 'ddm-flex-cols-element'), se crea la regla y todos sus estilos se trasladan a la regla. Creo que lo hice por la optimización, pero ahora no estoy del todo seguro de si es el enfoque correcto...
Preguntas y respuestas relacionadas
Continúa investigando con debates sobre temas similares.
Issue #1642
[Bug] Estilos incompletos tras la importación con estilos @media anidados
Hola, Al importar código HTML con consultas @media anidadas, las reglas no se mapean correctamente en la variable styles. Esto provoca que...
Issue #1821
[PREGUNTAS] ¿Cómo aplicar los cambios de estilo al ID en lugar de a la clase?
Hola, Tengo dos elementos con las mismas clases. Quiero aplicar cambios de estilo con el gestor de estilos a uno de estos dos elementos. Yo...
Issue #1626
[Bug] Marcador marcador de posición incorrecto al insertar un componente flexbox en columna
Hola artf, Tengo un problema con el marcador provisional de inserción. Cuando insertas un componente en un Flexbox-Parent, siempre está ver...
Issue #1817
Cambiar el contenido HTML mientras el bloque se renderiza en el editor
Hola @artf Tengo un bloque en el gestor de bloques como Según el script anterior dentro del bloque, quiero añadir contenido HTML dinámico m...
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.
Explorar categorías de plugins
Ve directamente a las páginas de categorías de plugins en el marketplace.