Modo dispositivo realmente responsivo
Construye tu CSS con 'min-width' en lugar de 'min-device-width', etc. Y todo bien.
Lee la respuesta completa abajo ↓Pregunta
Podrías pensar que cambiar el ancho de un iframe por el ancho de un dispositivo actúa igual que un emulador de dispositivo, pero en realidad no lo hac https://developers.google.com/web/tools/chrome-devtools/device-mode/emulate-mobile-viewports e.
Aquí tienes un ejemplo: si cargas pages.github.io en un iframe con un ancho de 320px, obtienes:
<img width="359" alt="captura de pantalla 2018-04-09 a las 4:44 24 pm" src="https://user-images.githubusercontent.com/331833/38528599-4c6ef62c-3c15-11e8-97e6-6c2bf2448da5.png">Puedes probarlo tú mismo:
<!doctype html>
<html>
<body>
<iframe src="https://pages.github.com/" ancho="320" altura="568" permitido pantalla completa></iframe>
</body>
</html>
Si vas a pages.github.io y activas las devtools de Chrome para emular un dispositivo con el mismo ancho (320px), se verá mucho más responsivo:
<img width="385" alt="captura de pantalla 2018-04-09 a las 4:45 16 pm" src="https://user-images.githubusercontent.com/331833/38528633-6743c5cc-3c15-11e8-97ff-24afbf514a7f.png">Lo que ocurre aquí es que el navegador en realidad respeta el ancho forzado de la página (980px forzado; no hay consultas de medios en esta página) y escala el contenido para que encaje. Creo que también puede hacer más zoom de texto:
<img width="398" alt="captura de pantalla 2018-04-09 a las 4:47:04 pm" src="https://user-images.githubusercontent.com/331833/38528724-a9994bf4-3c15-11e8-8737-e08dcd46f9c8.png">Aquí puedes ver que, aunque el ancho del dispositivo es de 320px, el ancho del componente sigue siendo de 980px. Como todo el componente es visible, debe haber algún tipo de escala de vista .
Para que Grapes sea realmente un editor WYSIWYG de "próxima generación", el modo de respuesta completa parece imprescindible.
¿Alguien tiene alguna idea de cómo podemos lograr el mismo efecto que el emulador de Devtools? ¿Quizá usando Javascript para cambiar dinámicamente el escalado del viewport? ¿O usando transformaciones CSS de forma inteligente?
Respuestas (3)
Construye tu CSS con 'min-width' en lugar de 'min-device-width', etc. Y todo bien.
@nojacko eso supone que tengo control sobre el CSS. No es así ;)
Además, el ejemplo anterior no utiliza 'mínimo de ancho de dispositivo'. Simplemente usa 'ancho: 900px'. Los dispositivos pequeños son lo suficientemente inteligentes para escalar en consecuencia. Por tanto, un modo realmente responsive haría lo mismo.
Gracias por la sugerencia@tommedema pero ahora mismo no veo ningún valor en empezar a trabajar en esa mejora; la implementación actual funciona si quieres crear una plantilla responsive y eso es lo que realmente importa. Por cierto, si realmente quieres trabajar en esto, los récords personales son bienvenidos :)
Preguntas y respuestas relacionadas
Continúa investigando con debates sobre temas similares.
Issue #1905
[PREGUNTA] Bloque no editable después de la plantilla de importación
Tengo el mismo problema que en 1408. Dijiste que JSON debería importarse en lugar del HTML. ¿Podrías decirme, por favor, cómo importar la p...
Issue #403
Incorpora Juice Inliner (o similar) a CSS en línea para la creación de correos HTML
La demo muestra un boletín, pero no creo que el CSS se inlinee, que es realmente necesario para un mejor soporte por correo electrónico. ht...
Issue #3285
[Pregunta]: Doctype en el iframe de lienzo
Hola. Esta pregunta ya se ha hecho dos veces (aquí y aquí) pero nunca ha recibido respuesta. ¿Hay alguna forma de añadir '<!DOCTYPE html>'...
Issue #3249
PREGUNTA sobre JSON almacenado por el StorageManager
Oye, @artf. Quiero acceder al json que se genera cuando se almacena una plantilla sin almacenar realmente la plantilla. El objeto json se p...
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.