Cómo conseguir estilo solo para componentes de cabecera y zapata
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)
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.
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
@artf, ¡gracias!
Preguntas y respuestas relacionadas
Continúa investigando con debates sobre temas similares.
Issue #2510
[PREGUNTA]: ¿Cómo añadir un enlace a una imagen?
Hola, una pregunta rápida. Tengo una imagen y solo quiero añadir un enlace. Usando el modelo, ¿cuál es la forma más sencilla de añadir un e...
Issue #1318
Pregunta: Cómo habilitar un evento del ratón para aumentar el valor de la entrada
Hola @artf quiero saber si hay alguna forma de activar el scroller de ratón de entrada en el administrador de estilos, como puedes ver con...
Issue #3268
¿Cómo añadir javascript en el HTML sin sanitización?
Hola @artf, estoy tomando input en javascript del usuario. Necesito añadir este javascript dentro del HTML de la plantilla, pero se desinfe...
Issue #3059
El encabezado va en un cuadro de texto
Hola, primero gracias por crear GrapesJs, esto es muy útil. Tengo un problema: añado un encabezado en mi página y ese es el código que añad...
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 →Explorar categorías de plugins
Ve directamente a las páginas de categorías de plugins en el marketplace.