Centrer "layer" en fonction des tailles d'écran

Signaler
Messages postés
4
Date d'inscription
jeudi 31 mars 2005
Statut
Membre
Dernière intervention
1 avril 2005
-
Messages postés
89
Date d'inscription
mardi 8 février 2005
Statut
Membre
Dernière intervention
3 novembre 2008
-
Bonjour à tous,
je suis "extrèmement débutant", et je ne trouve nulle part de réponse à mon problème, alors si quelqu'un peut aider...?
Voilà, je n'arrive pas à comprendre s'il est possible de centrer des "layers" (je connais pas le mot en français) en fonction des tailles d'écran. Je vois qu'il y a des codes java utilisant les mots "screen.width" et "screen.height", pour centrer des pop-up, mias je ne sais pas s'il est "possible" de les utiliser pour les positions du layer :

100px; top:20px;...
En gros je voudrais que mes "100" et mon "20" varient avec quelque chose comme :
left: (screen.width-250)/2; top: (screen.height-250)/2...
Mais j'ai pas l'impression que c'est possible...
Quelqu'un peut-il m'aider...?
Merci à tous !

7 réponses

Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
32
Bonjour,
...style="...position:absolute;left:'50%';top:'50%'..."...
peut-être ?
Cordialement. Bul. ~
Site
~~
[mailto:marcelBultez@tiscali.fr Mail
]~
Messages postés
4
Date d'inscription
jeudi 31 mars 2005
Statut
Membre
Dernière intervention
1 avril 2005

Malheureusement, c'est le point à l'angle en haut à gauche qui est pris en compte, or mon layer a une largeur et une hauteur qui ne varient pas.
Donc si un 30% en left "fonctionne" (en centrant mon layer) sur mon écran, à cause de la largeur de mon layer, cette valeur de 30% ne centrera pas mon layer sur un grand écran...
Peut-être existe t-il un bidouillage genre left=(50%)-200px...! :(
200 étant la largeur de mon layer : 400px, divisée par deux...
Mais ça ne fonctionne pas, je me disais donc qu'il y surement du javascript là dessous....
??QUID??
Merci en tout cas pour cet indice !
Z
Messages postés
289
Date d'inscription
vendredi 11 mars 2005
Statut
Membre
Dernière intervention
3 avril 2008
3
Salut!

Ce n'est pas nécessaire d'utiliser le javascript, tu peux faire ça avec seulement du css.

Exemple :


<STYLE
type="
text/
css">
#
monDiv
{

position:absolute;

width:200px;

height:200px;

top:50%
;

left:50%
;

margin-
top:-
100px; /* moitié de la hauteur */

margin-
left:-
100px; /* moitié de la largeur */

}

</STYLE>

A+, Ghislain
Messages postés
4
Date d'inscription
jeudi 31 mars 2005
Statut
Membre
Dernière intervention
1 avril 2005

Merci Ghislain pour ce css, mais le problème c'est que je sais pas du tout l'utiliser;


j'ai bien compris que ça devait se placer entre les balises head et /head, mais que se passe t'il alors pour mon layer 1 (qui se trouve dans la partie body) ?
Malheureusement je ne trouve pas de tutorial CSS pour les nuls comme moi :(

Enfin je vais continuer à chercher, mais un peu plus de "détails" pour l'utilisation de ce css serait bienvenu !
Merci.
Z
Messages postés
289
Date d'inscription
vendredi 11 mars 2005
Statut
Membre
Dernière intervention
3 avril 2008
3
Salut!

Effectivement il est préférable de mettre ton css dans le head et ton layer doit avoir un id="monDiv"

monDiv"
> la layer a centrer dans le body

a+, Ghislain
Messages postés
4
Date d'inscription
jeudi 31 mars 2005
Statut
Membre
Dernière intervention
1 avril 2005

okay merci beaucoup, j'ai "tout" compris !
Me v'la un peu moins débutant en css, aujourd'hui !
A+ et bonne prog !
Messages postés
89
Date d'inscription
mardi 8 février 2005
Statut
Membre
Dernière intervention
3 novembre 2008

j'ai a peu près le même problème mais je n'arrive pas à le résoudre avec ton css. Je suis extrèmement débutant en prog, peut être que quelqu'un a la solution...J'ai une page en plusieurs frame et je veux placer un layer de telle sorte qu'il soit toujours en haut à gauche de le partie visible de ma frame malgré les menus déroulants et autre.
Merci