Aide à la recréation d'une bannière héroïque par catégorie (image + texte superposé) sans décalage de mise en page

Salut à tous — J’essaie de créer une bannière de catégorie comme dans la capture d’écran ci-dessous :

Objectif

  • Mise en page identique à la maquette : grande bannière avec une image d’arrière-plan spécifique à la catégorie et un titre/une description superposés.
  • Chargement fluide (pas de scintillement/redimensionnement), entièrement responsive.
  • L’arrière-plan doit être une image unique pour chaque catégorie (pas un style CSS global).

Ce que j’ai essayé

  • JavaScript personnalisé pour injecter l’image et le texte. Cela fonctionne, mais l’image se charge d’abord, puis se redimensionne, provoquant des transitions saccadées/des changements de mise en page.
  • Le composant Category Banner m’a permis de m’en approcher, mais je n’ai pas pu correspondre à cette mise en page exacte et aux exigences d’image par catégorie.

Demande

  • Quelle est l’approche recommandée dans Discourse pour y parvenir ?
  • Des exemples ou des modèles CSS/HTML pour réserver de l’espace (par exemple, un wrapper avec un rapport d’aspect fixe/object-fit) et éviter le CLS ?
  • Des conseils pour utiliser les téléchargements par catégorie ou les paramètres de thème pour définir l’image d’arrière-plan proprement.

Merci !

1 « J'aime »

Démo très médiocre (et je n’utilise pas de cartes de sujet), mais je pense que vous pouvez facilement le faire avec l’image d’arrière-plan de catégorie intégrée :

Si vous ajoutez simplement un arrière-plan de catégorie dans les paramètres de la catégorie

cela place l’image sur la balise body. Peut-être ajuster ensuite le CSS à votre goût (mon exemple fait 400px) :

`+ quelques ajustements à l’alignement du texte, vous devriez obtenir une approximation de ce que vous voulez, je pense ? Le principal inconvénient est qu’elle est vraiment pleine largeur, vous la verrez donc dépasser sur les écrans plus larges.

Ce n’est pas parfait, mais c’est rapide :wink:

1 « J'aime »

Je pense que le composant de thème le plus proche de ce que vous recherchez est celui-ci :

Vous pourriez y jeter un œil pour vous faire une idée, mais il semble que vous pourriez avoir besoin de créer un composant personnalisé. Vous pourriez poster dans Marketplace si vous cherchez à engager des développeurs pour vous aider.

Oui, ce composant de thème est probablement un meilleur pari, je ne l’avais pas vu avant TIL