Issue #2238💬 RespondidoAbierto el 2 de septiembre de 2019por abozhinovReacciones 1

Cómo conseguir estilo solo para componentes de cabecera y zapata

Respuesta rápidapor abozhinov1

No veo problema con las consultas de medios. Las reglas se detectan mediante el selector y todo funciona bien. Yo añado clases y estilo de set solo para móviles y funciona.

Lee la respuesta completa abajo ↓

Pregunta

Hola @artf, ¿Podrías decirme cuál es la forma más rápida y sencilla de extraer estilos de componentes?

Tengo plantilla y en esta plantilla puedes editar parte del encabezado, el pie de página y añadir contenido entre ellos. No guardo toda la plantilla, solo el contenido en el centro, cabecera y pie de página. La estructura de componentes es fácil, hago looping en el JSON y consigo los componentes.

Quiero separar el estilo del encabezado y el pie de página del estilo de la página. ¿Cómo hacerlo?

Saludos, Alex

Respuestas (3)

abozhinov7 de septiembre de 2019

No veo problema con las consultas de medios. Las reglas se detectan mediante el selector y todo funciona bien. Yo añado clases y estilo de set solo para móviles y funciona.

artf5 de septiembre de 2019

Sí, los estilos están en otro contenedor ('editor. CssComposer.getAll()'), así que es un poco más difícil y no existe una API para extraer todos los estilos coincidentes.

Lo que sugeriría es hacer algo así

'''js const matchedRules = (component, rules) { const el = component.getEl(); Sea resultado = [];

rules.forEach(rule => { try { si (rule.selectorsToString().split(',').some( selector => el.matches(selector) )) { resultado.push(regla); } } atrapar (err) {} });

component.components().forEach(component => { result = result.concat(matchedRules(component, rules)) })

resultado de retorno; };

const allRules = editor. CssComposer.getAll(); const componentRules = matchedRules(tuComponent, allRules);

componentRules es ahora un array de reglas css Para conseguir el código harías algo así sea cssCode = ''; componentRules.forEach(rule => cssCode += rule.toCSS());


Por cierto, esto no es una solución definitiva, definitivamente tendrías que manejar también las reglas con las consultas de medios, así que tómalo como punto de partida  
abozhinov7 de septiembre de 2019

@artf, ¡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 →

Explorar categorías de plugins

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