Issue #1642💬 RespondidoAbierto el 9 de diciembre de 2018por steinermichaelReacciones 0

Estilos incompletos tras la importación con estilos @media anidados

Respuesta rápidapor artf

No se admiten @media anidados

Lee la respuesta completa abajo ↓

Pregunta

Hola,

Al importar código HTML con consultas @media anidadas, las reglas no se mapean correctamente en la variable styles. Esto provoca que los estilos se rompan en el html de resultados, porque simplemente faltan algunas partes del CSS.

Para probar importé esta plantilla:

<html>
    <head>
        <style type="text/css">
            @media (ancho máximo: 1000px) {
                @media única pantalla {	 
                    .makeBold {
                        Peso-fuente: negrita;
                    }
                }
                @media solo imprimir {	 
                    .makeBold {
                         color: rojo;
                    }
                }
            }
        </style>
    </head>
    <body>
        <p class="makeBold">test</p>
        <p>Prueba</p>
    </body>
</html>

Para importar la plantilla seguí estos pasos:

  • Haz clic en el icono de la papelera para eliminar la plantilla actual
  • Ejecutar 'editor.setStyle("")' para asegurarse de que los estilos estén vacíos
  • Importar la plantilla mencionada

Por alguna razón, la salida de los estilos almacenados difiere entre la Demo de la Página Web y la Demo del Boletín:

Salida de 'editor.store()["estilos"]' en Webpage Demo v0.14.43 (https://grapesjs.com/demo.html):

[  
   {  
      "selectores":[  

],
      "selectorsAdd":"",
      "estilo":{  
         "indefinido":"indefinido"
      },
      "mediaText":"(ancho máximo: 1000px)",
      "state":"",
      "estilizado":Cierto,
      "atRuleType":"media",
      "singleAtRule":0,
      "importante":0
   }
]

Resultados de 'editor.store()["estilos"]' en Newsletter Demo v0.14.43 (https://grapesjs.com/demo-newsletter-editor.html):

[  
   {  
      "selectores":[  
         {  
            "nombre":"makeBold",
            "sello":"makeBold",
            "tipo":1,
            "activo": cierto,
            "privado":falso,
            "protegido":falso
         }
      ],
      "selectorsAdd":"",
      "estilo":{  
         "pw-fuente":"negrita",
         "color":"rojo"
      },
      "mediaText":"(ancho máximo: 1000px)",
      "state":"",
      "estilizado":Cierto,
      "atRuleType":"media",
      "singleAtRule":0,
      "importante":0
   }
]

En la webpage-demo el problema es que los estilos han desaparecido por completo. En el caso del Boletín-Demo, se pierde la @media-consulta interna.

Respuestas (2)

artf12 de diciembre de 2018

No se admiten @media anidados

lock[bot]12 de diciembre de 2019

Este hilo se ha bloqueado automáticamente porque no ha habido actividad reciente desde que se cerró. Por favor, abre un nuevo problema para bugs relacionados.

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.