[#tuto] Media Queries : une bulle de dialogue responsive
Article rédigé par Oswald QUEVILLART le 29 mai 2020
Partager cet article sur les réseaux sociaux !
Auteur / Autrice
Oswald QUEVILLART
Apprenant ACS Nevers
Après plusieurs expériences professionnelles dans les secteurs de l’agriculture et de l’industrie, je me forme aux langages de programmation du web à l’Access Code School de Nevers.
1 Articles Rédigés
Lors de ma première intégration HTML/CSS d’une maquette au format PSD, j’ai été confronté à une problématique que j’ai solutionné grâce aux media queries : une bulle de dialogue positionnée à droite d’une illustration de smartphone en version desktop se retrouve en dessous de ce smartphone en version mobile. Problème : la pointe de la bulle doit se repositionner en fonction de la position de l’illustration. Pour mieux se représenter le problème avant sa résolution, voici le rendu de la section qui nous intéresse en version smartphone :
La bulle de dialogue de la version smartphone.
Deux problèmes se posent : le positionnement de la flèche de dialogue, mais aussi l’ordre d’affichage des éléments, qui comme vous pouvez le voir n’offre pas un rendu très esthétique. C’est ici que les media queries entrent en jeu : on va les utiliser pour appliquer de nouvelles propriétés aux balises HTML selon la taille d’écran de l’utilisateur. C’est un excellent outil pour rendre un projet responsive.
La version desktop
Voyons à quoi ressemble mon code HTML :
<div class="container headercontainer">
<div class="row mx-auto ">
<div id="img-right" class="col-sm">
<img src="img/phone2.png" alt="phone">
</div>
<div class="col-sm">
<div class="headertext text-black">
<div class="speech-bubble">
<div class="quot">"</div>
<p class="flextexte">People are definitely a compagny's greatest asset.It dosen't make<br> any difference wheter the product is cars or cosmetics.<br> A compagny is only as good as the people it keeps.<br><span class="johndoe"> John Doe</span>
</p>
<div id="quote-right" class="quot">"</div>
</div>
</div>
</div>
</div>
</div>
Et voici mon code CSS avant l’application des media querries :
Passons maintenant à la pratique. J’ajoute une classsecond à la div qui contient l’image de smartphone directement dans la balise HTML, ceci afin de pouvoir lui appliquer par la suite des attributs dans ma media querrie. Regardons à quoi ressemble mon code HTML à présent :
Nous pouvons voir qu’à la première ligne j’ai réglé ma media querrie pour qu’elle se déclenchent sur des écrans avec une propriété width allant jusque 768 pixels. Il suffit de placer entre les accolades les class à modifier, puis d’ajouter les propriétés et les valeurs elles-même entre accolades. Voici le résultat:
La position de la bulle de dialogue après application des media querries.
Vous avez déjà essayé de faire tenir une image dans une cards ? Et ça a été un casse-tête ? Heureusement, une propriété bien pratique en css existe, la propriété object-fit, qui définit la façon dont le contenu d'un élément s'adapte à son conteneur en utilisant sa largeur et sa hauteur. Une image est une matrice...
SASS est un préprocesseur CSS qui permet d’organiser au mieux votre code. Grâce à lui vos feuilles de styles seront beaucoup plus maintenables et propres ! La première différence avec le CSS classique va être de ne plus travailler en extension « .css » mais en « .scss ». Sass va compiler tout ce que vous écrivez dans vos fichiers Scss directement dans un fichier Css comme un grand. Étant une adepte de l’organisation, Sass est...