全部,
我想将绝对定位的元素彼此相邻对齐。我确定我已经在我自己的代码中看到了这种效果,但是我正在努力在我当前的项目中重现这种效果。
这是布局草图:
绝对定位的元素(大约 100 个 div)从左到右对齐,当它们用完空间时,它们会落入下一行。所有这些听起来像是浮动的工作,但是,由于对定位的小调整,我必须使用绝对位置。
我的问题是如何自动对齐父 div 内的绝对定位 div。
全部,
我想将绝对定位的元素彼此相邻对齐。我确定我已经在我自己的代码中看到了这种效果,但是我正在努力在我当前的项目中重现这种效果。
这是布局草图:
绝对定位的元素(大约 100 个 div)从左到右对齐,当它们用完空间时,它们会落入下一行。所有这些听起来像是浮动的工作,但是,由于对定位的小调整,我必须使用绝对位置。
我的问题是如何自动对齐父 div 内的绝对定位 div。
当他们用完空间时,他们会掉到下一行
这不适用于绝对定位的元素,因为它们是绝对定位的。
这听起来像是 jQuery masonry插件的工作。
更新:
是的,当然,绝对位置是必需的,因为 div 实际上从(例如)顶部开始:-50px;左:-50 像素。也就是说,布局开始在可视区域之外渲染,这是故意的效果,以便给人一种“更大的画面”的错觉 - Kayote
如果是这种情况,请在子 div 中使用浮动,并将父容器 div 设为顶部:-50px。
更新:
但 div 从四面八方延伸,即从左、右、上、下。花车不会让我这样做。使用绝对位置和 js,我可以控制一行应该延伸多远 - Kayote
那么你的 CSS 没有正确完成。有一些方法可以达到这种效果。请在 jsfiddle.com 上复制您的代码,或链接到它。
HTML:
<div class="parentContainer">
<div class="child"></div>
<div class="child"></div>
<div class="child"></div>
<div class="child"></div>
<div class="child"></div>
<div class="child"></div>
<div class="child"></div>
<div class="child"></div>
<div class="child"></div>
<div class="child"></div>
</div>
CSS:
.parentContainer {
width: 200px;
}
.child {
float: left;
width: 40px;
height: 40px;
margin: 5px;
position: relative;
}
希望这有效。
继承人和示例http://bittu.github.com/hidden-tiles/
如果你想让child
元素超出可视屏幕,那么不要指定宽度parentContainer
.parentContainer {
width: auto;
}
html
<div class="wrap">
<div class="inner"></div>
<div class="inner"></div>
<div class="inner"></div>
<div class="inner noPaddingRight "></div>
<div class="inner"></div>
<div class="inner"></div>
<div class="inner"></div>
<div class="inner noPaddingRight "></div>
</div>
css
.wrap {
float:left;
position:absolute;
width:100%;
}
.inner {
float:left;
margin:0 0 5px 1%;
width:23%;
border:1px solid red;
height:100px;
}
.noMarginRight {margin-right:0 !important}