La propriété Css position
permet d'agir sur le positionnement du bloc concerné dans le
flux d'affichage du navigateur. La description des valeurs possibles
de cette propriété permet de mieux comprendre son action.
position: static;
Il s'agit du positionnement par défaut.
position: relative;
Chaque bloc se positionne dans le flux par rapport à son
positionnement normal dans le flux.
position: fixed
La boîte est retirée du flux normal. Elle est positionnée
par rapport au conteneur initial (c'est à dire par
rapport à la fenêtre d'affichage du navigateur).
Avec ce code, la boîte d'identifiant id="enHautadroite"
sera placée en haut à droite de la fenêtre (et y reste
même lorsqu'on descend dans la page). C'est le cas des boutons
de navigation qui reste fixé à droite. Il faut alors déclarer
des propriétés left
, right
, top
ou bottom
pour indiquer où positionner le conteneur.
position : absolute
La boîte est retirée du flux normal. Elle se positionne par
rapport au premier ancêtre (conteneur) lui-même
déclaré en position relative
ou absolute
(ce qui explique que l'on déclare souvent des blocs en
position: relative;
sans déclarer de position
afin que ce bloc soit bien le référentiel dans un placement
absolu de ses fils).
Un cas particulier : les boîtes «flottantes»
Avec la propriété float
, la boîte est d'abord
positionnée selon le flux normal puis retirée et positionnée
le plus à droite ou le plus à gauche à l'intérieur de son
conteneur. Le contenu du bloc conteneur va alors entourer
la boîte flottante.
Avec ce code, les images flotteront à droite dans leur boîte
conteneur.
C'est le cas de l'image ci-contre.
Des sites pour se former
L'objectif de cet exercice est d'observer les comportements.
En commentant/décommentant les sélecteurs de paragraphes
p
, tester les divers positionnements
possibles vis-à-vis du div
conteneur. Observer
alors les divers problèmes (débordement du conteneur,
blocs se superposant, ...).
Observer la différence d'alignement entre float: left;
et display: inline-block;
.
Observer ce qu'il se passe lorsqu'on modifie min-height
en height
pour le div:last-of-type
.
- Affichage à obtenir ?
- Une solution ?
- Dans le code ci-dessous, quel est le référentiel pour
le placement absolu des fils ?
- Modifier le code pour que le placement absolu
(premier fils) se fasse par rapport au père.
- Affichage à obtenir ?
- Une solution ?
Définir le style Css afin que
l'image apparaisse disposée de la façon suivante :
Le cadre est une bordure de l'élément div
.
L'image est disposée à l'aide du paramètre float
.
- Affichage à obtenir ?
- Une solution ?
La situation suivante se produit assez souvent :
un bloc (premier bloc noir) contient des éléments
flottants (bloc orange), mais le bloc flottant a
une hauteur trop grande et dépasse donc sur le bloc suivant
(second bloc noir).
Sans modifier les dimensions et marges des trois blocs,
modifier le code pour que le flottant ne déborde pas sur
le second bloc noir.
- Affichage à obtenir ?
- Une solution ?
Dans le fichier qui suit, sans toucher au code
Html, définir le
Css pour obtenir
une page semblable à :
Lorsqu'on survole le cercle 2 :
Lorsqu'on survole le cercle 3.1 :
Le bandeau est centré horizontalement dans la page et il a une
largeur de 800px
.
- Affichage à obtenir ?
- Une solution ?