Appelez-nous aujourd'hui ! +33766664691 | contact@develop4fun.com

Les techniques avancées pour définir la position de vos blocs div

(Dernière mise à jour: 6 juillet 2021)

Approfondissons encore un peu plus le positionnement de vos blocs dans votre page HTML.

La superposition de blocs

Vous l’avez vu sur des sites Internet, maintenant il y a de plus en plus de pop-up intérieures. Lorsque vous consultez votre document HTML, il y a un pop-up qui arrive. Et ce n’est pas une nouvelle fenêtre ou un nouvel onglet, non.

Il s’agit bien d’un pop-up à l’intérieur de la page. Comment ils font ?

Ces développeurs utilisent la propriété z-index. Vous avez les axes X et Y habituels, z-index ajoute un axe de profondeur, comme la 3D finalement. Cela permet d’ordonner les blocs entres eux en définissant un z-index.

Prenons l’exemple suivant :

.bloc1 {
   position: absolute;
   left: 30px; top: 30px; width: 150px; height: 60px;
   padding: 5px;
   border: 2px solid red;
   background-color: #8904B1;
   z-index: 1;
}

.bloc2 {
   position: absolute;
   left: 50px; top: 60px; width: 150px; height: 60px;
   padding: 5px;
   border: 2px solid blue;
   background-color: #FE2E2E;
   z-index: 2;
}

.bloc3 {
   position: absolute;
   left: 80px; top: 100px; width: 150px; height: 60px;
   padding: 5px;
   border: 2px solid gray;
   background-color: #FAAC58;
   z-index: 3;
}

Sur cet exemple de code source avec plusieurs blocs et avec des z-index différents, en les positionnant vous pouvez voir qu’ils se chevauchent plus ou moins.

Avec la propriété z-index, vous leur donnez un ordre de priorité :

le bloc1 sera en bas, le bloc2 au-dessus et le bloc3 encore au-dessus car il a un z-index de 3.

Amusez-vous avec cette valeur z-index pour positionner vos blocs. Vous pouvez créer des pop-up par-dessus tous les autres blocs ou des chevauchements, à vous de voir en fonction de l’effet recherché.

Voici le résultat suivant :

Z-index
Exemple de superposition de blocs div

Le dépassement de la taille dun bloc

La propriété overflow détermine ce que le navigateur doit faire lorsqu’un bloc est plus grand que l’élément qu’il contient. Vous avez un div, et le div à l’intérieur, son contenu le fait dépasser du premier div.

Vous pouvez définir avec CSS ce qu’il se passe. Utilisez la propriété overflow avec différentes valeurs.

Auto, c’est le navigateur qui décide.

visible, la partie qui dépasse est affichée donc les propriétés CSS du bloc parent sont ignorées.

scroll, la partie qui dépasse est cachée mais accessible avec une barre de défilement.

hidden, la partie qui dépasse est cachée sans possibilité de la voir ou d’y accéder.

Pensez à cette propriété overflow qui peut s’avérer très pratique.

Exemple :

.bloc4 { overflow: auto; }

Ce qui donnera à l’écran :

Exemple de bloc div avec la propriété overflow positionnée à auto
Exemple de bloc div avec la propriété overflow positionnée à auto

La visibilité du contenu dun bloc

La propriété clip détermine la partie visible du bloc. Souvent pour une image, l’image entière est bien présente dans la page Web.

Il est possible de choisir d’afficher seulement une partie de celle-ci : vous avez une image complète, par exemple une personne et vous souhaitez n’afficher que son visage. Vous définissez alors un clip en rectangle avec des valeurs. Les coordonnées du rectangle sont données par les sommets supérieur gauche, supérieur droit, inférieur droit, et inférieur gauche (on fait gauche, droite, droite, gauche) avec des valeurs en pixels.

Il est recommandé d’inclure l’élément découpé dans une balise div. Ce sera beaucoup plus simple pour gérer l’affichage et le positionnement de l’élément dans vos pages HTML.

Cette propriété ne fonctionne qu’avec un positionnement absolu de l’élément (voir le chapitre précédent).

Exemple :

div#avecClip {
   position: absolute;
   clip: rect(10px,100px,50px,10px);
}

Vous l’utiliserez par exemple pour tronquer votre image :

<div class="avecClip">
   <img src="grandeImage.png" />
</div>

Vous pouvez remettre la valeur clip: auto pour que le navigateur adapte à la taille de l’élément fils.

Contrôler laffichage dun bloc

La propriété display permet de contrôler l’affichage des éléments sur une page. Vous avez les valeurs display: inlinedisplay: bloc. Si vous ne voulez pas afficher le bloc, alors utilisez la valeur display: none.

Contrôler la visibilité du contenu dun bloc

La propriété CSS visibility détermine si un élément est visible ou caché. C’est très utile lorsque les utilisateurs cliquent sur un bouton de la page, pour afficher ou masquer certains éléments de votre page HTML.

Il y a deux valeurs possibles :

visible, l’élément est visible,

hidden, l’élément est masqué.

La valeur hidden, l’élément occupe toujours sa place dans le document. Par contre, l’élément est remplacé par un rectangle blanc. Ce fonctionnement permet de conserver la mise en page que vous avez définie dans votre page Web.

C’est la principale différence avec les display: none où votre image, ou votre div est complètement enlevée, votre mise en page peut changer. Alors qu’avec une visibilité hidden, vous avez un rectangle blanc à la place, donc votre mise en page est conservée.

Exemple :

span { visibility: hidden; }

Modifier le curseur de la souris

Vous pouvez modifier le curseur avec la propriété CSS cursor.

Voici les valeurs différentes du curseur :

cursor: help affiche le petit point d’interrogation avec la petite souris que vous voyez souvent sous Windows.

cursor: pointer : un doigt qui indique un lien.

cursor: move permet d’indiquer qu’un objet est déplacé donc la croix est affichée.

e-resize, ne-resize, nw-resize, n-resize, se-resize, sw-resize, s-resize, w-resize : pour un curseur de redimensionnement suivant l’endroit où est placé le curseur (sur un angle de votre bloc, ou une extrémité latérale, en utilisant les points cardinaux en anglais).

cursor: text pour sélectionner du texte.

cursor: wait pour indiquer une action en cours.

cursor: default pour remettre le curseur original.

cursor: crosshair est une croix.

cursor: progress en forme de flèche avec un sablier.

cursor: not-allowed pour indiquer un champ inaccessible.

cursor: no-drop ; cursor: col-resize ; cursor: row-resize ; cursor: auto pour que le navigateur détermine lui-même le curseur approprié.

Exemple :

.bloc4 { cursor: help; }

Vous pouvez même spécifier un fichier image pour votre curseur avec la propriété cursor: url et vous renseignez l’URL de l’image entre parenthèses et cette image deviendra votre curseur, très pratique.

Conclusion

Après avoir vu comment positionner votre bloc, ce chapitre vous a permis de les superposer si le besoin s’en fait sentir. Vous ajoutez alors une profondeur à votre site.

Vous avez aussi appris comment utiliser le dépassement du bloc, ou overflow, pour que votre texte reste contenu ou non dans le bloc qui le contient. C’est pour cela que vous devez utiliser au maximum les blocs, même si vous n’utilisez pas pour le moment ces possibilités. En utilisant ces différentes options, pensez toujours à respecter l’ergonomie de votre site.


Voila, vous pouvez maintenant briller en soirée …

Nous avons mis quelques cours en promo sur l’école du web de Develop4fun :
https://www.develop4fun.fr/tous-les-cours

Ici le parcours complet pour devenir développeur web : https://www.develop4fun.fr/parcours-developpeur-web-cours-en-ligne/

Vous pouvez également nous retrouver sur Youtube :

Ici => https://www.youtube.com/channel/UCZ4dhshzpVbbRPVuL9TNH4Q

Ou ici => https://www.youtube.com/channel/UCQlKs3ToaL8IKRbXtwtFnyA

0 réponses sur "Les techniques avancées pour définir la position de vos blocs div"

Laisser un message

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *