Issue #1978💬 RespondidoAbierto el 25 de abril de 2019por 3dmediumReacciones 0

Los estilos siempre se aplicaban a las clases

Respuesta rápidapor artf

¿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)

artf1 de mayo de 2019

¿Podrías intentar añadir esto a tus opciones 'avoidInlineStyle: true' y decírmelo

3dmedium1 de mayo de 2019

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

Preguntas y respuestas relacionadas

Continúa investigando con debates sobre temas similares.

Plugins de pago que cumplen con este problema

Seleccionado por temas clave y relevancia de etiquetas para ayudarte a enviar más rápido.

Ver todos los plugins

Cargando recomendaciones de plugins de pago...

Opción gratuita

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 →
Opción premium

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.

Todos los tutoriales →

Explorar categorías de plugins

Ve directamente a las páginas de categorías de plugins en el marketplace.