Boîte de dialogue (superposition) stylisée avec les classes Bulma
Le widget "Superposition / boîte de dialogue" gagne les classes Bulma "modal is-active" (sur le voile plein écran) et "box" (sur la boîte centrée), en PLUS du style inline existant — jamais à sa place : tout le positionnement/masquage critique (position:fixed, z-index, display) reste en inline, qui gagne toujours sur une règle de classe. Si Bulma (chargé depuis un CDN, voir play.html) ne se charge pas (hors-ligne), la boîte de dialogue continue de fonctionner exactement pareil — ces classes n'ajoutent qu'un habillage visuel (ombre, base de police/espacement Bulma) qui se dégrade sans rien casser. Pas de ".modal-background" séparé (convention Bulma habituelle) : le voile semi-transparent est déjà posé en inline sur la même balise (background:rgba(...)), un second calque tout aussi transparent par-dessus n'aurait ajouté qu'un assombrissement redondant. 137 tests toujours au vert (changement purement visuel, aucune assertion cassée) ; jeu de démo régénéré et vérifié (classes bien présentes dans le rendu). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 5
parent
7c0f1ed427
commit
d87d6addce
@@ -22,7 +22,18 @@ def _render_overlay(el, meta, slug, children_map=None, ctx=None, parent_flex_dir
|
|||||||
fusionne le style de positionnement fixe ci-dessous AVEC le style normal
|
fusionne le style de positionnement fixe ci-dessous AVEC le style normal
|
||||||
de l'élément (_style_string) : si l'élément est réglé "Masqué" dans ses
|
de l'élément (_style_string) : si l'élément est réglé "Masqué" dans ses
|
||||||
propriétés, ou si une action "Modifier un élément" le cache plus tard,
|
propriétés, ou si une action "Modifier un élément" le cache plus tard,
|
||||||
ce masquage continue de fonctionner normalement."""
|
ce masquage continue de fonctionner normalement.
|
||||||
|
|
||||||
|
Classes Bulma ("modal is-active" / "box") posées en PLUS du style
|
||||||
|
inline existant, jamais à sa place : tout le positionnement/masquage
|
||||||
|
critique (position:fixed, z-index, display) reste en inline, qui gagne
|
||||||
|
toujours sur une règle de classe — si Bulma (chargé depuis un CDN, voir
|
||||||
|
play.html) ne se charge pas (hors-ligne), la boîte de dialogue continue
|
||||||
|
de fonctionner exactement pareil, ces classes n'ajoutant qu'un habillage
|
||||||
|
visuel (ombre, base de police) qui se dégrade sans casser quoi que ce
|
||||||
|
soit. Pas de ".modal-background" séparé : le voile semi-transparent est
|
||||||
|
déjà posé en inline sur cette même balise (background:rgba(...)) — un
|
||||||
|
second calque tout aussi transparent par-dessus n'ajouterait rien."""
|
||||||
attrs_raw = el.get("attributes") or {}
|
attrs_raw = el.get("attributes") or {}
|
||||||
box_color = attrs_raw.get("_couleur_boite") or "#1f2430"
|
box_color = attrs_raw.get("_couleur_boite") or "#1f2430"
|
||||||
radius = attrs_raw.get("_arrondi") or "12"
|
radius = attrs_raw.get("_arrondi") or "12"
|
||||||
@@ -53,7 +64,7 @@ def _render_overlay(el, meta, slug, children_map=None, ctx=None, parent_flex_dir
|
|||||||
)
|
)
|
||||||
child_html = _render_children(el, slug, children_map, ctx)
|
child_html = _render_children(el, slug, children_map, ctx)
|
||||||
return (
|
return (
|
||||||
f'<div {" ".join(attr_parts)}>'
|
f'<div class="modal is-active" {" ".join(attr_parts)}>'
|
||||||
f'<div class="forgeOverlayBox" style="{html_lib.escape(box_style)}">{child_html}</div>'
|
f'<div class="box forgeOverlayBox" style="{html_lib.escape(box_style)}">{child_html}</div>'
|
||||||
f"</div>"
|
f"</div>"
|
||||||
)
|
)
|
||||||
|
|||||||
Reference in New Issue
Block a user