28172 sujets

CSS et mise en forme, CSS3

Bonjour à tous,
Je dois placer un picto en fond de page, sur l'élément <body>.
Il doit être à 20 px du haut de la fenêtre et à 20 px de la droite de la fenêtre.
Comment peut-on indiquer ce 20px de la droite ?
Merci de votre aide
Modifié par krakkos (06 May 2009 - 17:40)
Salut,

Laurie-Anne, je pense que krakkos parlait d'une image d'arrière-plan. Si c'est bien le cas, voici donc une réponse :

Effectivement, le placement de l'image d'arrière plan en CSS se fait seulement par rapport à l'angle supérieur gauche. Donc pour ton cas, à moins que ton body ait une largeur fixe, tu n'as d'autre choix que :

- d'accepter de ne pas avoir un positionnement au pixel près sur toutes les résolutions, et placer l'image en pourcentage de la largeur du body (à 99.5% ou valeur avoisinante).

- ou bien utiliser Javascript pour :
1. récupérer la largeur du body
2. calculer à combien de pourcents de cette largeur équivalent tes 20px
3. placer ton image à 100% moins cette dernière valeur

- ou enfin, et je crois que c'est la solution la plus simple, intégrer ces 20px de vide dans ton image, que tu placeras complètement à droite
Modifié par marcv (06 May 2009 - 12:44)
marcv a écrit :
Effectivement, le placement de l'image d'arrière plan en CSS se fait seulement par rapport à l'angle supérieur gauche.


Non, grace à background-position, l'image de fond peut être positionnée où l'on souhaite (top right).

Par contre pour les 20px en haut et à droite, le plus simple est effectivement de prévoir une image avec ces 20px "vide". On peux également faire en sorte que le conteneur soit à 20px du haut et à droite.
Hello,

Laurie-Anne a écrit :
Non, grace à background-position, l'image de fond peut être positionnée où l'on souhaite (top right).
Je pense que marcv voulait dire qu'on peut positionner précisément depuis le coin en haut à gauche
#conteneur {
	background: url(mon_image.jpg) 20px 20px no-repeat;
}
mais qu'on ne peut pas le faire depuis le coin en haut à droite. Smiley cligne
Ce que je veux dire, c'est que le seul et unique point de référence pour placer l'image de background, c'est l'angle supérieur gauche.

Que ce soit avec des valeurs en pixels, en pourcents, ou même "left" et "right" (qui ne sont ni plus ni moins que des alias pour 0 et 100%), le point de départ du calcul est toujours le bord gauche/supérieur.

Il est donc impossible de placer une image d'arrière-plan par rapport au côté droit (en attendant les CSS3 Smiley smile )
Modifié par marcv (06 May 2009 - 15:59)
Merci pour vos réponses.
Effectivement je souhaitais utiliser la propriété background-image, en positionnement par rapport à la droite de l'élément <body>.
Mais la seule référence est l'angle en haut à gauche... hélas
Attendons les CSS 3