我在另一个div
内有一个div
,其右边和左边有边框以使其居中:
我想将内部div
更改为absolute
,以便外部div
在其后面流动:
现在它没有居中。有没有办法解决这个问题?
答案 0 :(得分:4)
这里有两个问题:
top
,bottom
,left
或right
,因此它会保留在原始位置。哪个会好的,除了...... width
,height
)的绝对定位元素是其上下文父的外部维度的百分比(在这种情况下,<body>
元素。)。你可以通过setting left: 0;
on it重新定位内部div,但它仍然会与身体的边界重叠。要解决这个问题,最简单的方法可能是放弃width
属性而转而使用setting both left
and right
to the width of the body's borders。 (这对绝对定位的元素起到了一种“智能拉伸”的作用。)
答案 1 :(得分:0)
编辑:这是用于水平居中......
如果你知道你的内部div将是你的例子中的设定高度,你可以只计算边距。例如:http://jsfiddle.net/Me7HK/2/
如您所见,保证金为(outer height - inner height) / 2