LaurentDenis
vendredi 22 octobre 2004 à 04:22
CITATION(javelot @ 21 Oct 2004, 22:50)
Pour la taille des caractères en css, j'utile les "em".
Supposons que j'ai une page avec deux colonnes (une en floar left, l'autre en right). La première est le menu donc j'indique la largeur en "em".
Attention dans ce cas à éviter les largeur trop ajustées et à laisser du jeu entre tes colonnes: la largeur finale calculée de ton menu sera variable selon la police de caractère effectivement utilisée. Même si tu t'assures que tout va bien avec les polices que tu as spécifiées dans ta CSS, il suffit qu'un visiteur n'ait aucune de ces polices, ou ait d'autres préférences exprimées dans le paramétrage de son navigateur... et une police plus "large" que prévue risque alors d'être utilisée. Dans ce cas, ton menu a une largeur finale calculée plus grande que prévue, et ta mise en page ne tient plus (les flottants se décalent vers le bas).
Mieux vaut une largeur en %.
CITATION
Si j'indique la largeur de la 2è en "em", elle va changer de largeur suivant la taille des caractères. Je ne devrais pas la tailler en px non plus.
Si je n'indique pas de taille, elle prend 100%.
Alors comment faire ?
Je voudrais pouvoir indiquer 100%-la taille déjà prise.
Il n'existe aucun procédé permettant de faire effectuer des calculs de ce type en CSS. C'est une autre raison pour laquelle le choix d'une unité unique de largeur (le %) est plus rationnel que les mélanges %+em ou %+px.
Mais surtout, as-tu vraiment besoin de faire flotter ta 2e colonne ? Il y a de fortes chances que ce soit inutile

Si ta seconde colonne est en flux, elle occupera naturellement toute la largeur disponible à côté de ton flottant, que la largeur de celui-ci ait été indiquée en em, en % ou en px.
On voit souvent ici une surabondance inutile de propriétés de positionnement dans les mises en pages "problématiques": laisser faire le flux partout où c'est possible est le meilleur moyen d'apprivoiser le positionnement CSS