Issue #2057💬 RespondidoAbierto el 31 de mayo de 2019por alikabeer32Reacciones 1

Las Media Queries no se aplican a un bloque personalizado que escribí

Respuesta rápidapor alikabeer321

@alikabeer32 me estoy enfrentando al mismo problema. Si has resuelto este problema. ¿Podríais compartir la solución aquí? Gracias @umerrinayat no recuerdo lo que hice, pero prueba lo siguiente: Necesitas definir la clase CSS y añadirle un id único '''js const cssComposer = editor. CssCompositor; var sm = editor. Selec...

Lee la respuesta completa abajo ↓

Pregunta

Fragmento de códigoTEXT
Escribí un div block sencillo así 
blockManager.add('simple-div', {
    etiqueta: 'Contenedor',
    contenido: '"<!––<div class="simple-div"></div> ––>"',
    categoría: 'Básico',
    atributos: {
    título: 'Simple Box',
    Clase: 'FA FA-CUADRADO'
  }
});

Pero NO responde en absoluto. Así es como funciona:
1. Configuro su ancho al 100% en el escritorio
2. Cambio a la tableta y pongo su ancho al 50%
3. Vuelvo al escritorio y el ancho sigue siendo del 50%
Tampoco hay consultas de medios en el CSS
(las consultas de medios funcionan bien para imágenes)

¿Me estoy perdiendo algún código que permita que responda?

EDIT

Acabo de darme cuenta de que el estilo se hace con el elemento y no con un id o clase única
Utilicé el siguiente código para darle al elemento un id único
VAR Comps = Editor. DomComponents;

comps.addType('.simple-div', {
    init: function() {
      this.set('attributes', { id: randomID() });
    },
  });

¿Cómo hago para que el estilo no vaya a elemento, sino a la hoja de estilo en línea?

Respuestas (2)

alikabeer326 de diciembre de 2019
Fragmento de códigoTEXT
> 
> @alikabeer32 me estoy enfrentando al mismo problema. Si has resuelto este problema. ¿Podríais compartir la solución aquí? Gracias

@umerrinayat no recuerdo lo que hice, pero prueba lo siguiente:

Necesitas definir la clase CSS y añadirle un id único

'''js
    const cssComposer = editor. CssCompositor;
    var sm = editor. SelectorManager;
    var sel1 = sm.add('simple-div');
    var rule = cssComposer.add([sel1]);
    Actualizar el estilo
    regla.set('estilo', {
      Ancho: '100%',
      Altura:'Auto',
      'acolchado': '80px 50px',
      Altura:'Auto',
      flotar: 'izquierda',
    });
    
Añadir un ID único

const privateCls = ['.simple-div'];
    
editor.on('selector:add', (selector) => {
        if (privateCls.indexOf(selector.getFullName()) >= 0) {
          selector.set({private: 1});
        }
    });
umerrinayat6 de diciembre de 2019

@alikabeer32 estoy pasando por el mismo problema. Si has resuelto este problema. ¿Podríais compartir la solución aquí? Gracias

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.