将div相对于body定位而不是父div

时间:2013-10-28 10:26:43

标签: javascript jquery html css

我正在从MySQL数据库加载动态创建的网页。

我正常设置页面但是当我到达页面的内容部分时,我运行一个while循环并根据存储在数据库中的内容加载页面元素。

这对我很有用,除非我加载的条纹是根据正文而不是内容定位的,并且宽度为页面的100%而不是内容的100%。

有没有办法用jquery或javascript定位条纹元素,使它们与身体相对。

数据库中的每个元素都有顶部和左侧的位置,并且具有高度和宽度,以及更多诸如边框等内容。

我在div中加载元素并将css设置为内联,如此

   <div id="shape" style="position:absolute;top:<? echo $row['box_top']; ?>px;left:<? echo $row['box_left']; ?>px;height:<? echo $row['box_height']; ?>px;width:100%;z-index:<? echo $row['zindex']; ?>;border-top-width:<? echo $row['border_width']; ?>px;border-bottom-width:<? echo $row['border_width']; ?>px; border-style:<? echo $row['border_style']; ?>;padding:<? echo $row['padding']; ?>; opacity:<? echo $row['image_opacity']; ?>;filter:alpha(opacity=<? echo $ieopacity; ?>)"><? echo $row['content']; ?></div>

任何想法?

4 个答案:

答案 0 :(得分:7)

您可以使用position: fixed;

答案 1 :(得分:3)

听起来你的问题是元素嵌套在内容加载的中间吗?

如果是这样,您可以使用JavaScript将元素从DOM中拉出来,然后再将其作为正文的直接子项插入。

jQuery(document).ready(function(){
    $("div#shape").prependTo($("body"));
});

答案 2 :(得分:2)

使用

body {
      position:relative;
}
  

并使必须绝对定位的元素成为直接元素   孩子到了身体

答案 3 :(得分:0)

使用以下内容。

body{
    position:relative;
}

这将使身体内的所有绝对定位元素相对于身体定位。