jQuery位置div在页面中间

时间:2011-02-10 01:33:20

标签: jquery html

好的,所以我有一个div,我想将它放在页面中间。 我到目前为止已经到了

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

这是对的吗?

3 个答案:

答案 0 :(得分:7)

**不应该在引号中。此外,您需要使用$()术语。试试这个:

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

甚至更好:

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

编辑:为了清楚起见,你不能把它放在引号中,因为它会尝试将margin-top属性字面设置为该字符串。这是不正确的。

答案 1 :(得分:7)

我建议您使用.offset()

说明:将匹配元素集中的每个元素的当前坐标 relative 设置为文档

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

答案 2 :(得分:0)

这个适合我和我可能有所帮助:

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

更改' top-200' 中的值200,根据您的需要定位div ..