2010-02-11 7 views

Répondre

1

Vous pouvez faire comme si vous avez été un fixe avec ..

.popup { position: absolute; largeur: 140px; marge gauche: -70px; en haut: 0px; gauche: 50%; }

+0

Nope qui ne fonctionne pas du tout ... il devrait y avoir des propriétés CSS dans le .ienlarger a: durée de vol stationnaire _______tried la plupart du temps toutes les propriétés, mais pas de chance –

+0

Cela fonctionne quand je l'essaye: .ienlarger une durée { couleur de fond: # 000000; couleur: # FFCC00; affichage: aucun; famille de polices: Arial, Helvetica, sans-serif; taille de police: 13px; police-poids: gras; gauche: 50%; marge gauche: -70px; rembourrage: 10px 10px 13px; position: absolue; text-decoration: aucune; largeur: 150px; } Mais ce n'est pas vertical ... je suppose qu'il serait judicieux d'utiliser un peu de javascript –

2

Pour résoudre ces problèmes, j'interroge habituellement le DOM avec JavaScript pour connaître la taille de la fenêtre. J'utilise ensuite:

document.getElementById('popup').style.top = window_height - popup_height/2; 
document.getElementById('popup').style.left = window_width - popup_width/2; 

Le positionnement du popup doit être défini sur 'absolute' dans le CSS. Pour obtenir la hauteur (même pour la largeur) J'utilise:

if (document.body.clientHeight) { 
    window_height = document.body.clientHeight; 
} else { 
    window_height = window.innerHeight; 
} 

Si votre div ne dispose pas d'un identifiant, vous pouvez toujours passer la référence d'objet à la fonction JavaScript comme:

<div class='popup' onmouseover='javascript:openPopup(this);'> ... </div> 

Et, une pièce voisine de code:

function openPopup(element) { 

    // Get window's height and width using the code above 

    element.style.top = window_height - popup_height/2; 
    element.style.left = window_width - popup_width/2; 

} 

C'est, au lieu d'interroger les DOM pour obtenir l'objet de l'ID, vous passez directement l'objet à la fonction JavaScript.

+0

merci! mais le code a une classe div ... pourriez-vous me donner un exemple du code pleasE? très apprécié –

+0

Il suffit de mettre l'ID sur la durée comme ceci:

+0

vraiment apprécier votre soutien ... mais je mai être stupide - j'ai essayé tout ce qui précède, mais pas de chance .. J'ai eu __________________________________ { window_height = document.body.clientHeight fonction openPopup (élément) {// Obtenir la taille de fenêtre et la largeur à l'aide du code ci-dessus if (document.body.clientHeight); window_width = document.body.clientWidth; } else { window_height = window.innerHeight; window_height = fenêtre.innerWidth; } élément.style.top = window_height - 200/2; element.style.left = Largeur de fenêtre - 200/2; } –