css et position absolue

Invité
Invité n'ayant pas de compte PHPfrance

17 oct. 2006, 11:51

Bonjour à tous,
j'utilise les positions absolues de css pour placer des éléments sur une page. Mon écran est en 1024*768 et pas de problème.

Quand je passe à une résolution supérieure, mes éléments sont complètement décalés. Je suppose que c'est parceque le repère du bord de l'écran change.

Est ce que ça veut dire qu'on ne peut pas utiliser position absolute si on veut être compatible avec différentes tailles d'écrans.

Comment faire pour résoudre ce pb?
Merci pour vos réponses.

Eléphant du PHP | 193 Messages

17 oct. 2006, 11:59

Est ce que ça veut dire qu'on ne peut pas utiliser position absolute si on veut être compatible avec différentes tailles d'écrans.
Absolument.
Comment faire pour résoudre ce pb?
Merci pour vos réponses.
Revoir ta mise en page et sa conception. Pourquoi les positionner en absolu au lieu de les laisser se positionner dans le flux, au fil du code?

Invité
Invité n'ayant pas de compte PHPfrance

17 oct. 2006, 12:08

parceque j'ai des éléments qui se superposent. Peut-on superposer sans positionnement absolu?

Eléphant du PHP | 193 Messages

17 oct. 2006, 12:23

OK, pourquoi ces éléments se superposent? La superposition est souvent une bidouille, je dis pas que c'est ton cas mais peut-être y a-t-il une autre façon d'arriver à la présentation que tu souhaites.

Invité
Invité n'ayant pas de compte PHPfrance

17 oct. 2006, 12:32

il se superposent parce que c'est l'objectif que je souaitais obtenir.
En fait il y a une image de fond centrée sur la page.

Par dessus cette image, je fais tourner une anim flash insérée dans une balise div qui est positionnée en absolu avec left et top.

Mon pb est que ce flash est bien placé sur 1024, mais décalé sur une résolution plus grande.

Eléphant du PHP | 396 Messages

17 oct. 2006, 12:37

Je vais peut-être dire une betise mais ton image tu peux pas la definir comme background-image du body?

De plus je ne vois pas comment la résolution peut décaler ton anim' si elle est calée en haut à gauche :?:

Invité
Invité n'ayant pas de compte PHPfrance

17 oct. 2006, 12:45

Non je ne peux pas mettre l'image en bg.
L'anim est positionnée par rapport à top et left, mais pas calée en haut à gauche.
voici deux exemples:
la page d'accueil:
http://www.dynacomfrance.fr
L'anim flash centrale est en absolute.

Un autre exemple:
http://www.dynacomfrance.fr/index.php?o ... &Itemid=41

Le cadre "offre spéciale" à gauche est en absolu.

Ces éléments sont mal placés avec une résolution supérieure à 1024

Eléphant du PHP | 193 Messages

17 oct. 2006, 14:03

Pardonne-moi, mais tu réponds un peu à côté... dire que c'est l'effet que tu souhaitais obtenir mais qu'en fait tu n'obtiens ne réponds pas à ma question: que veux-tu obtenir? Parce que si tu as une image de fond sur laquelle tu veux afficher quelque chose, pour moi ça a l'air d'être un simple bloc avec une image de fond, comme le dit Rei, même si c'est pas forcément pour le body.

Si tu veux une image centrée par-dessus laquelle s'anime une flash, c'est évident que le centre d'une résolution 800x600 ne sera pas à la même distance (en px) des bords que le centre d'une résolution 1280x1024, et que donc si tu positionnes l'un en centré et l'autre en px leur position relative variera en fonction de la résolution. Si tu les places en px, ils ne peuvent être bien placés.

Déjà, ton code n'est n'est pas valide en 1.0 transitionnel, ça serait bien de rendre ton code valide :p

Invité
Invité n'ayant pas de compte PHPfrance

17 oct. 2006, 14:38

ce que je veux obtenir, c'est exactement ce qu'on voit sur le site en 1024, que j'ai donc réussi à otenir (l'anim placée sur l'image).
Je n'arrive pas à otenir le même résultat dans une résolution différente, a cause de la position absolute de cette anim.

La solution du background peut marcher pour pour la page d'accueil, pas pour le cadre "offre spéciale" à gauche sur:
http://www.dynacomfrance.fr/index.php?o ... &Itemid=41

Si tu changes de résolution, tu verras que tous ls positionnements absolus sont décalés.

Ce que je veux donc, c'est obtenir le même affichage (celui du 1024) sur toutes les résolutions.

Eléphant du PHP | 396 Messages

17 oct. 2006, 14:42

Mais pourquoi n'utilises-tu pas un div conteneur qui sera lui en position absolue (avec l'image en background) et le contenu de ce div dans le flux?
Comme ça si tu centres ton div, quelque soit ta résolution celui-ci sera centré (et son contenu ne "bougera pas")

Eléphant du PHP | 193 Messages

17 oct. 2006, 15:15

ce que je veux obtenir, c'est exactement ce qu'on voit sur le site en 1024, que j'ai donc réussi à otenir (l'anim placée sur l'image).
Une question, comme ça: est-ce que je vois ton écran? Et non :p c'est pas top de devoir chercher à comprendre ce que vous voulez quand vous pouvez le dire simplement. Parce que moi je ne suis toujours pas certain de savoir.

On positionne en absolu quand on veut qu'un élément soit toujours au même endroit: un pied de page, un petit encadré, une colonne. C'est rarement utilisé quand on veut mettre un bloc sur un fond, ça ça ressemblerait plus à la bidouille.

Pourquoi ne prends-tu pas le temps d'énoncer pausément ton problème? Je ne vois pas ce que tu obtiens parce que je ne vois pas ton écran, je n'ai pas la même config que toi, je ne sais pas ce que tu cherches à obtenir, etc... Ce que je vois de ton exemple, c'est un truc un peu fouilli à gauche avec une offre spéciale par dessus laquelle on voit des icones de Google et autre qui rends le tout illisible avec d'autres encadrés en-dessous.

En tout cas, je te conseillerais de laisser tomber la mise en page absolue, préfère un design fluide et positionne après ce qu'il faut, avec du relatif, du flottant ou de l'absolu.

J'attends des éclaircissements pour pouvoir t'aider, en attendant peut-être que d'autres sauront mieux t'aider que moi.

Eléphant du PHP | 396 Messages

17 oct. 2006, 15:29

Mais pourquoi n'utilises-tu pas un div conteneur qui sera lui en position absolue (avec l'image en background) et le contenu de ce div dans le flux?
Comme ça si tu centres ton div, quelque soit ta résolution celui-ci sera centré (et son contenu ne "bougera pas")
Oula, désolé invité mais j'ai dit une grosse anerie (besoin de dormir moi) :roll:
Utilises un div conteneur avec une image de fond mais ne le positionne pas en absolu, ça serait éroné.
Apparemment tu veux que ce conteneur soit centré donc centre le simplement dans ta page et tout son contenu suivra quand celui-ci bougera selon la résolution

Mammouth du PHP | 843 Messages

17 oct. 2006, 22:53

je croit que j'ai une petite explication qui devrai te convenir ;)

rien nez devrai se superposé. tu doit définir une div conteneur avec ton image en background. ensuite dans celle ci tu met ton anim flash avec les marges left et right à auto et normalement cela devrai coller.

si ceci ne fonctionne pas essaye de remplacer les marges auto par des valeur en px (si bien sur ton conteneur et ton flash ont des largeur fixe en px).

si tu utilise des valeur en % pour définir les taille de ta div et que ton flash est definit en px, il est plus que normal que cela ne fonctionne pas avec d'autre résolution d'ecran ;)
:: contactez moi par MP ::
:non: NON au language SMS sur les forums :non:

Eléphant du PHP | 396 Messages

17 oct. 2006, 23:17

je croit que j'ai une petite explication qui devrai te convenir ;)

rien nez devrai se superposé. tu doit
J'ai rarement vu autant de fautes en 2 phrases
#-o