我想在一个页面的中心有一个盒子和几个散落的盒子,有不同的大小,随机的位置,没有重叠.
我认为这不可能只用html和css,并且需要javascript/html DOM.
你见过这个例子吗?您是否有任何有用的提示或代码?不介意它是否解决了整个问题,其中一个子问题(例如没有重叠)的解决方案也是有用的!
如果尺寸固定,完美居中的div并不难.诀窍是应用负边距:
#centered {
width: 400px; height: 200px;
position: absolute; top: 50%; left: 50%;
margin-left: -200px; margin-top: -100px;
}
Run Code Online (Sandbox Code Playgroud)
现在,要使用相对于这个居中的div来定位其他div position: relative.
示例HTML snippit:
<div id="centered">
<div id="other"></div>
</div>
Run Code Online (Sandbox Code Playgroud)
除上述内容外,还有以下CSS:
#other {
width: 200px; height: 100px;
position: relative; top: -150px; left: 180px;
}
Run Code Online (Sandbox Code Playgroud)
添加边框或背景颜色以更好地查看示例:
div {
border: 1px solid black;
}
Run Code Online (Sandbox Code Playgroud)
如果这不是静态页面,并且您希望随机化每个页面加载,您可以使用Javascript或某些服务器端脚本来动态创建和设置div.