jQuery position div au milieu de la page

Ok, alors j’ai une div et je veux le positionner au milieu d’une page. Je suis si loin

$("#a").css('margin-top', '(document).height()/2 - ("#a").height()/2'); 

Est-ce correct?

** Il ne devrait pas être entre guillemets. En outre, vous devez utiliser la terminologie $() . Essaye ça:

 $("#a").css('margin-top', $(document).height()/2 - $("#a").height()/2); 

Ou même mieux:

 var $a = $("#a"); $a.css('margin-top', $(document).height()/2 - $a.height()/2); 

Edit: Juste pour être clair, vous ne pouvez pas le mettre entre guillemets car il essaiera de définir la propriété margin-top littéralement à cette chaîne. Ce qui est incorrect

Je vous suggère d’utiliser .offset() .

Description: Définissez les coordonnées actuelles de chaque élément de l’ensemble d’éléments correspondants, par rapport au document .

 $("#a").offset({ top: $(document).height()/2 - $("#a").height()/2, left: $(document).width()/2 - $("#a").width()/2 }) 

Celui-ci a fonctionné pour moi et pourrait aider:

 $('html, body').animate( { scrollTop: $('#your_div_id').offset().top-200 }, 1000); 

Changez la valeur 200 dans ‘top-200’ pour positionner votre div en fonction de vos besoins.