【发布时间】:2012-03-21 09:05:23
【问题描述】:
我有这个代码:
<div class="parent">
<div class="child">something</div>
</div>
父节点的宽度和高度应为 200 像素,子节点的宽度和高度应为 100 像素。父级也设置为position:absolute。是否可以将child 相对于parent 水平和垂直居中以及如何?
结果:如果将黑色背景设置为父级,将白色设置为子级,整个事物应该看起来像有一个带有黑色大边框的白色方块。
静态边距和填充是不可能的,因为孩子的大小会动态变化。
这可能不是正确的解决方案,但我实际上想要实现的是一个黑色方块,我可以用 jQuery 更改它的大小,它会保持在相同的绝对位置,就像它从中心缩放一样,而不是从左上角。
我想我可以设置父级的位置,让子级自动水平和垂直居中,同时改变它的大小,这样我会得到适当的类似“缩放”的效果。
【问题讨论】:
-
那么您想要纯 CSS 解决方案还是 jQuery 解决方案?
-
一个真正的工作。真正的问题是,例如,当我将边框从 0 设置为 10 时,我将顶部和左侧从当前位置设置为 -10 时,它应该保持在同一个位置,但不会......有一个奇怪的 1 像素缓冲区,整个正方形从右下角然后左上角然后再右下角(到正确的位置)。我很确定它来自 jQuery 计算
.animate()的值时在每个刻度上发生的舍入。 -
“孩子100px宽高”与“孩子的大小会动态变化”相矛盾。
-
不会变,但是边框会变,所以效果差不多,只是想听起来更简单。