Les applications Web sont des mises en page de chat, un élément indispensable de nombreuses plateformes. Dans ce tutoriel, vous apprendrez comment créer une mise en page de chat simple avec HTML et CSS en utilisant Flexbox. Flexbox vous permet de concevoir des mises en page de manière flexible et réactive, ce qui est essentiel de nos jours. Je vais vous expliquer les étapes nécessaires pour créer une mise en page de chat conviviale.
Principales conclusions
- Flexbox est idéal pour l'agencement des éléments dans une mise en page.
- Avec des classes CSS, vous pouvez styliser différemment les messages en fonction de l'expéditeur et du destinataire.
- Les éléments de saisie et les boutons peuvent être positionnés de manière flexible.
Guide étape par étape
Commençons par examiner la structure HTML de base dont nous avons besoin pour notre mise en page de chat.
Vous commencez par créer une div avec la classe "root" servant de conteneur pour votre mise en page. À l'intérieur de ce div se trouvent d'autres conteneurs tels que "messages" et la zone de saisie.
Pour afficher les messages, créez une autre div avec la classe "messages". Les messages sont affichés les uns en dessous des autres. Chaque message est représenté par des éléments div avec la classe "MSG", en alternant entre "own" (pour les propres messages) et "other" (pour les messages du partenaire de chat).
Concentrons-nous maintenant sur la zone de saisie. Celle-ci doit être placée dans une div avec la classe "MSG Input". Appliquez "display: flex" pour cette zone afin d'agencer les champs de saisie et le bouton. La base flexible de l'élément conteneur doit être fixée à 40 pixels, car il s'agit de la hauteur.
À l'intérieur de cette zone de saisie, il est important de définir "align-items" sur "stretch" pour que le champ de saisie et le bouton soient uniformément étirés. De plus, ajoutez un peu de marge intérieure et une couleur de fond pour mettre en valeur les éléments.
Passons maintenant à la zone "messages". Ici aussi, il est judicieux d'utiliser "display: flex". Assurez-vous que le conteneur occupe toute la hauteur disponible en définissant "flex: 1". À l'intérieur de cette zone, faites en sorte que les messages soient disposés verticalement, donc "flex-direction: column".
Pour contrôler la mise en page des messages, définissez "justify-content" sur "flex-end". Ainsi, les messages entrants apparaissent au bas du conteneur, ce qui est plus intuitif pour l'utilisateur lorsqu'il veut rédiger de nouveaux messages.
Ensuite, stylisez les messages eux-mêmes. Assurez-vous que chaque message a des coins arrondis. Vous pouvez définir des propriétés comme "border-radius" et "padding". De plus, une largeur maximale doit être définie, par exemple à 450 pixels, pour éviter que les messages ne soient trop larges.
Pour les différents types de messages (propres et autres), il est important d'appliquer différentes classes CSS. Pour les messages propres, définissez "align-self: flex-end" pour qu'ils soient alignés à droite, tandis que pour les messages d'autres personnes, utilisez "align-self: flex-start" pour les aligner à gauche.
Enfin, assurez-vous que le champ de saisie a "flex: 1" pour occuper tout l'espace disponible dans la zone de saisie. Le bouton devrait en revanche occuper uniquement l'espace nécessaire pour le texte.
La mise en page est désormais fondamentalement prête. Les dernières considérations concernent la logique que vous pourriez vouloir ajouter à l'application Web pour traiter les inputs et les messages.
Résumé
Dans ce tutoriel, vous avez appris comment créer une mise en page de chat simple à l'aide de Flexbox. Vous avez vu la structure du document HTML ainsi que les styles CSS nécessaires pour les différentes parties.
Questions fréquemment posées
Qu'est-ce que Flexbox?Flexbox est un module CSS qui permet une disposition flexible des éléments dans une mise en page.
Comment puis-je trier les messages?En appliquant des classes CSS différentes pour les messages propres et ceux des autres, vous pouvez les disposer à droite et à gauche.
Puis-je rendre la mise en page réactive?Oui, en utilisant Flexbox, la mise en page s'adapte dynamiquement à la taille de l'écran.