PREGUNTA: Añadir estilo por defecto a un componente
Tu cambio en el bloque no funciona porque no cambias el componente real (solo la propiedad del bloque). '''js editor. BlockManager.get('image').get('content').style = { 'max-width':'100%' } Una forma más sencilla de añadir CSS personalizado podría ser esta '''js editor.addComponents('<style> ... </style>');
Lee la respuesta completa abajo ↓Pregunta
He estado trabajando en integrar grapesjs en un nuevo desarrollo en el que estoy trabajando. He tenido mucho éxito con la documentación y el foro de la wiki, pero me estoy encontrando con algunos problemas con los que espero que alguien pueda ayudarme. Estoy trabajando solo con una vista móvil, he puesto el dispositivo por defecto en móvil y he ocultado la opción de cambiar.
Cuando insiro una imagen, me gustaría que el CSS por defecto incluyera el ancho máximo: 100%, ya que si cargo una imagen grande en la vista móvil obtendré una imagen mucho más grande que la pantalla que estoy viendo.
He intentado:
blockManager.get('image').set({
estilo:{
'max-width':'100%'
}
});
Pero sé que puede ser un uso incorrecto y quizá solo el ancho (no el ancho máximo) sea válido allí. También he probado a usar cssComposer sin éxito.
var sm = editor. SelectorManager;
var cssComposer = editor. CssCompositor;
var sel1 = sm.add('img');
var rule = cssComposer.add([sel1]);
rule.set('style', {'max-width': '100%'});
Cualquier ayuda sería muy apreciada. Gracias.
Respuestas (3)
Tu cambio en el bloque no funciona porque no cambias el componente real (solo la propiedad del bloque). '''js editor. BlockManager.get('image').get('content').style = { 'max-width':'100%' }
Con 'cssComposer' en su lugar, por defecto, SelectorManager acepta clases
'''js
...
var sel1 = sm.add('img'); Aquí estás añadiendo el selector '.img' y no 'IMG'
Una forma más sencilla de añadir CSS personalizado podría ser esta '''js editor.addComponents('<style> ... </style>');
Pero ten cuidado, si guardas tus plantillas y luego ejecutas este comando en cualquier actualización, esto seguirá creando estilos. Para CSS por defecto recomendaría:
'''js
grapesjs.init({
CSS que solo podía verse (por ejemplo, dentro del visor de código)
protectedCss: 'img { ... }',
Si tienes un archivo externo, por ejemplo, algo de reinicio CSS
Puedes usar esto
lienzo: {
Styles: ['https://... file.css']
}
})
¡Gracias! Pude conseguirlo funcionando con: 'protectedCss: 'img {max-width:100%;}',' Tengo el mismo problema con vídeos e iframes (para YouTube) que se colocan en la plantilla más grandes que el tamaño de pantalla y la solución protectedCss no funcionó para eso. ¿Alguna sugerencia?
'protectedCss' está cargado, así que el CSS está aquí; si no funciona, probablemente tu técnica CSS no sea correcta
Preguntas y respuestas relacionadas
Continúa investigando con debates sobre temas similares.
Issue #1113
[PREGUNTAS] ¿El nuevo tipo de rasgo no funciona con los componentes renderizados?
Hola, gracias por el excelente marco. Estoy intentando aplicar esto a mi proyecto. Quiero añadir un nuevo rasgo para el componente existent...
Issue #1187
[PREGUNTA]: ¿por qué las líneas discontinuas no se muestran alrededor de los componentes?
Después de mucho tiempo estoy intentando de nuevo con GrapesJS. Estoy siguiendo la página de Empezar y estoy atascado a este paso https://g...
Issue #1912
[PREGUNTA] Componentes personalizados hijos por defecto
Hola, Estoy intentando entender cómo puedo lograr lo siguiente.Crear un componente con un contenido predeterminado como hijos.Crea un bloqu...
Issue #1818
[Pregunta]: Elaborando uvas trabajando con angular7 y material
Estoy intentando integrar la librería con Angular7, pero tuve problemas al mover el contenedor '<div id="gjs"></div>' al componente materia...
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 →Tutoriales relacionados
Guías detalladas sobre el mismo tema.
Explorar categorías de plugins
Ve directamente a las páginas de categorías de plugins en el marketplace.