diff --git a/static/document/document-editor.css b/static/document/document-editor.css index e523720b..7a4abf35 100644 --- a/static/document/document-editor.css +++ b/static/document/document-editor.css @@ -364,9 +364,25 @@ body.objectEditBody > main.content { comme un vrai logiciel de diaporama ne reflow jamais automatiquement une diapositive trop pleine. */ .docPage { - width: 960px; + /* --doc-page-width : SOURCE UNIQUE utilisée à la fois par width et par + le calcul de max-height ci-dessous (jamais deux nombres séparés à + tenir synchronisés) — .docPage--fixedWidth et le point de rupture + mobile la redéfinissent, max-height suit automatiquement. */ + --doc-page-width: 960px; + + width: var(--doc-page-width); max-width: 100%; aspect-ratio: 297 / 210; + + /* Filet de sécurité en plus d'aspect-ratio (retour utilisateur du + 23/09/2026 : "le contenu ne dois jamais s'adapter verticalement" — + bug réel constaté : un
flex (voir .docCanvasArea) applique + une "taille minimale automatique" à ses enfants qui peut agrandir + la page au-delà de la hauteur dérivée d'aspect-ratio pour éviter de + rogner leur contenu ; max-height fixe un plafond dur qu'aucun + contenu ne peut dépasser, quelle que soit cette mécanique). */ + max-height: calc(var(--doc-page-width) * 210 / 297); + min-height: 0; background: var(--doc-card); border: 1px solid var(--doc-border); border-radius: 16px; @@ -389,7 +405,9 @@ body.objectEditBody > main.content { } .docPage.docPage--fixedWidth { - width: var(--doc-preview-width, 760px); + --doc-page-width: var(--doc-preview-width, 760px); + + width: var(--doc-page-width); padding: 28px 20px; } @@ -475,6 +493,14 @@ body.objectEditBody > main.content { .docText { outline: none; + + /* Un mot sans espace plus long que la largeur du bloc doit se couper + plutôt que déborder hors de la page (retour utilisateur du + 23/09/2026 : "les élément paragraphe ne vont pas à la ligne") — + overflow-wrap (jamais word-break:break-all, qui casserait même les + mots normaux au milieu sans raison) ne coupe QUE si le mot ne tient + vraiment pas sur une ligne. */ + overflow-wrap: break-word; } .docImage.docImagePlaceholder {