La mise en page néscessite des unités. Nous allons voir que suivant les usages, on devra — au sein d’un même document — utiliser plusieurs unités différentes

Unités

CSS offre différentes unités pour exprimer la longueur. Certaines ont une histoire en typographie, comme le point pt et le pica pc, d’autres sont connues pour leur usage quotidien, comme le centimètre cm et le pouce in. Et il y a également une unité propre aux écrans, le pixel px.

Ces unités sont des valeurs qui correspondent à des grandeurs physiques. On verra qu’il existe un autre type d’unité, relatives, comme le pourcentage %, les em, ex et rem.

D’une manière générale, on note les unités directement après la valeur numérique, sans espace. On utilisera le point . et non la virgule , pour les valeurs non entière. Quand la valeur est nulle on peut écrire 0 quelque soit son unité, même si 0 accepte aussi les unités.

width: 130px;
font-size: 14.5em;
margin: 10px 0px 0 20px;
border-weight: 0;
left: -50px;

Unités pour l’impression

CSS permet de gérer une mise en page pour l’impression d’une page web afin d’adapter celle-ci à une page A4 standard. Les unités utilisées alors sont les classiques de l’impression :

  • le point pt
  • le pica pc
  • le millimètre mm
  • le centimètre cm

Je ne rentre pas dans les détails de la mise en page CSS pour l’impression, mais pour déclarer un style pour l’impression, on utilise une media queries @media print{} :

@media print{
	.selecteur{
		font-size:10pt;
	}
}

L’unité de l’écran, le pixel px

Vous le connaissez certainement, le pixel est l’unité de vos écrans. Il correspond à l’unité même de ce que permet d’afficher un écran : une grille rectangulaire de points lumineux et colorés.

pixels

l’unité pixel respecte une logique entière, car on ne peut pas afficher un demi-pixel. Cependant certains logiciel vous permettent de mettre des valeurs à virgules. Ces valeurs sont donc possibles mais seront rendues en utilisant un lissage. d’une manière générale, je recommande pas d’utiliser des valeurs entière pour les pixels.

.small{

	/* mauvais usage */
	font-size: 10.44px;

	/* bon usage */
	font-size: 10px;

}

écran rétina, haute-définition

Aujourd’hui un nouveau type d’écran est venu révolutionner l’approche classique des pixels. Les écrans type retina sont en effet à des définitions 2 à 3 fois supérieures aux écrans traditionnels à 72dpi. Ces écrans — souvent mobiles — concervent la notion de pixel, mais en doublant ou triplant le nombre des pixels réels, suivant les écrans. Il n’y a donc pas à s’inquiéter pour ce type d’écran, même si ils ont plus de pixel, sauf au niveau de la définition des image, qui pourra sembler baver si on n’utilise pas d’image en définition x2. pour résoudre ce problème d’image en haute définition, la tendance veut qu’on vaforise des images vectorielles, au format svg qui garantiront une qualité à toutes les résolutions d’affichage.

pourcentages %

On utilisera beaucoup les pourcentages, unité relative par excellence — on la note avec le symbole pourcentage %. Elle utilise le principe d’héritage par rapport à sa balise relative parente.

Suivant les cas, un bloc qui veut utiliser cette propriété doit être en position: relative; ou position:absolute.

On l’utilise beaucoup pour faire des largeurs de blocs qui s’adaptent à la taille de l’écran

.demi{
    width:50%;
    border:solid 1px #000;
    min-height: 20px;
    margin:1px;
}
<div class="demi">
	<div class="demi">
		<div class="demi">
			<div class="demi">
	            <div class="demi">
	                <div class="demi"></div>
	            </div>
	        </div>
	    </div>
	</div>
</div>

50%

em, unité typographique relative

em

l’unité em et une unité de mesure qui prend sa base dans la typographie : c’est le cadratin, la hauteur d’un plomb.

Sur le web, il n’y a pas de plomb, mais cette unité correspond à la hauteur relative du caractère. Par défaut, c’est celui de la configuration de votre navigateur, en général donc 1em = 16px.

Si on change ses préférences, l’unité em sera proportionnelle à cette valeur configuré par l’utilisateur. Certains utilisateurs modifie celle-ci car ils ont des problèmes de vision. L’unité em est donc une unité utile pour l’accessibilité.

default font size

héritage relatif

L’unité em est relative. Dans un document où les balises sont en cascade, cela signifie que le em est multiplicateur.

.taille-en-em{
	font-size:1.2em;
}
<div class="taille-en-em">
font-size:1.2em;
	<div class="taille-en-em">
        font-size:1.2em;
	            <div class="taille-en-em">
	            font-size:1.2em;
		                <div class="taille-en-em">
		                font-size:1.2em;
			                    <div class="taille-en-em">
			                    font-size:1.2em;
                                </div>
                        </div>
                </div>
	</div>
</div>

default font size

Pour plus d’information vous pouvez lire cet excellent article sur l’unité em

Recommandation d’usage par unité.

Recommandé Usage occasionnel use Non recommandé
Écran em, px, % ex pt, cm, mm, in, pc
Imprimante em, cm, mm, in, pt, pc, % px, ex