Audit complet de mise en forme — Liste à puces/numérotée (4e élément)
Implémente toutes les options manquantes identifiées pour les listes :
typographie complète, style/position/couleur/taille de puce (validés
selon le kind), puce personnalisée en SVG pour les listes à puces,
padding uniforme par élément (nouveau, il n'y en avait aucun), espacement
entre éléments réglable, et tous les attributs de boîte partagés sur la
liste entière. Bordure/fond/padding par élément individuel et sous-listes
imbriquées volontairement différés (portée actée avec l'utilisateur
avant implémentation : transformeraient le stockage des éléments en
objets structurés, chantier bien plus lourd).
Trois ajouts transversaux bénéficiant à plusieurs éléments : sections
"Contenu"/"Conteneur" dans tous les panneaux de propriétés, alignement
vertical du contenu dans son bloc (Titre/Paragraphe/Liste/Image
légendée), et une option pour retirer un thème appliqué ("Aucun modèle"
dans la modale, avec une nouvelle fonction db.remove_document_theme).
Quatre bugs réels trouvés et corrigés en chaîne pendant la validation
avec le thème "Sécurité incendie" : un badge de thème s'affichait
au-dessus du texte au lieu d'à côté ; le correctif a d'abord fait
disparaître les puces/numéros natifs de TOUTES les listes (bug plus
grave que celui corrigé) ; puis un marqueur natif redondant apparaissait
à côté du badge du thème ; puis une règle CSS site-large de spécificité
supérieure empêchait silencieusement ce dernier correctif. Chaque étape
vérifiée par navigateur automatisé sur un support jetable.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 5
parent
8f879f6321
commit
4db1269348
@@ -263,6 +263,16 @@ body.objectEditBody > main.content {
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
/* Sépare visuellement, DANS un même panneau Propriétés, les champs qui
|
||||
touchent au CONTENU (propre à chaque kind) de ceux qui touchent au
|
||||
CONTENEUR (position/boîte, partagés — voir forgeDocRenderBoxFieldsHtml)
|
||||
— retour utilisateur du 26/09/2026 : "sinon c'est pas compréhensible". */
|
||||
.docPropsSectionLabel {
|
||||
margin-top: 20px;
|
||||
padding-top: 14px;
|
||||
border-top: 1px solid var(--doc-border);
|
||||
}
|
||||
|
||||
.docLibItem {
|
||||
border: 1px solid var(--doc-border);
|
||||
border-radius: 10px;
|
||||
@@ -587,6 +597,16 @@ body.objectEditBody > main.content {
|
||||
mots normaux au milieu sans raison) ne coupe QUE si le mot ne tient
|
||||
vraiment pas sur une ligne. */
|
||||
overflow-wrap: break-word;
|
||||
|
||||
/* flex-colonne (retour utilisateur du 26/09/2026 : "je peux augmenter
|
||||
la hauteur d'un conteneur mais pas l'alignement vertical à
|
||||
l'intérieur") : sans effet visuel tant que la hauteur du bloc
|
||||
correspond à son contenu (comportement historique inchangé) —
|
||||
n'entre en jeu que si une hauteur fixe/minimale (voir box_style.py)
|
||||
dépasse la hauteur naturelle du texte, via justify-content
|
||||
(render_content_align, appliqué uniquement si réglé). */
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.docImage.docImagePlaceholder {
|
||||
@@ -687,8 +707,48 @@ img.docImage {
|
||||
color: var(--forge-text);
|
||||
}
|
||||
|
||||
/* item_padding/item_spacing/marker_color/marker_size (retour utilisateur
|
||||
du 26/09/2026, audit — colonne "Liste à puces/numérotée") : une
|
||||
valeur inline sur le <ul>/<ol> ne peut pas cibler directement un <li>
|
||||
enfant ni son ::marker — passe par des PROPRIÉTÉS PERSONNALISÉES CSS,
|
||||
posées en style inline sur le conteneur (voir _render_list,
|
||||
document_engine/rendering/render_document_element.py) et héritées
|
||||
jusqu'ici (les propriétés personnalisées traversent aussi bien les
|
||||
descendants que leurs pseudo-éléments). Valeur par défaut = comportement
|
||||
historique inchangé (4px entre éléments, pas de padding) tant qu'aucune
|
||||
valeur n'est réglée. */
|
||||
.docList li {
|
||||
padding: var(--doc-item-padding, 0);
|
||||
}
|
||||
|
||||
/* Bug réel corrigé une première fois le 26/09/2026 (capture à l'appui,
|
||||
thème "Sécurité incendie") en posant display:flex ICI sur <li> pour
|
||||
que le badge en ::before d'un thème (voir static/document/themes/
|
||||
securite-incendie.css) s'affiche À CÔTÉ du texte plutôt qu'AU-DESSUS.
|
||||
**Corrigé une seconde fois** (retour utilisateur : "quand j'enlève le
|
||||
thème [...] on voit plus les puces ou les numéros") : display:flex
|
||||
sur le <li> lui-même REMPLACE entièrement son display:list-item —
|
||||
ça supprime le marqueur natif (puce/numéro) pour TOUTE liste, avec ou
|
||||
sans thème, pas seulement pour celles qui ont un ::before (contraire
|
||||
à ce qu'affirmait le commentaire précédent, qui était FAUX — vérifié
|
||||
par un test en conditions réelles). La bonne cible pour la mise en
|
||||
ligne du badge est le ::before LUI-MÊME (inline-block, jamais son
|
||||
parent) : le <li> garde son display natif, donc son marqueur, et le
|
||||
badge d'un thème s'aligne quand même à côté du texte qui le suit
|
||||
immédiatement dans le flux normal. */
|
||||
.docList li::before {
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
.docList li + li {
|
||||
margin-top: 4px;
|
||||
margin-top: var(--doc-item-spacing, 4px);
|
||||
}
|
||||
|
||||
.docList li::marker {
|
||||
color: var(--doc-marker-color, inherit);
|
||||
font-size: var(--doc-marker-size, inherit);
|
||||
}
|
||||
|
||||
.docMinigame {
|
||||
|
||||
Reference in New Issue
Block a user