CSS元素的垂直居中(页边距顶部,顶部)

CSS元素的垂直居中(页边距顶部,顶部),css,Css,要使元素水平居中,可以将宽度设置为x,将左边距设置为50%,将左边距设置为-x/2。这对于x=50%(参见下面的示例)非常有效。为什么它不适用于垂直定心?下面的示例不起作用 div.myDiv{ 宽度:50%; 身高:50%; 左:50%; 最高:50%; 左边缘:-25%; 利润率最高:-25%; 位置:绝对位置; 边框:1px实心#555; } 我是一个div 在FF10和IE8中使用HTML 4.01过渡版进行测试,在主体部分中只有一个div标记。您没有固定的宽度和高度(流体)。因此,

要使元素水平居中,可以将宽度设置为
x
,将左边距设置为
50%
,将左边距设置为
-x/2
。这对于
x=50%
(参见下面的示例)非常有效。为什么它不适用于垂直定心?下面的示例不起作用

div.myDiv{
宽度:50%;
身高:50%;
左:50%;
最高:50%;
左边缘:-25%;
利润率最高:-25%;
位置:绝对位置;
边框:1px实心#555;
}
我是一个div

在FF10和IE8中使用HTML 4.01过渡版进行测试,在主体部分中只有一个div标记。

您没有固定的宽度和高度(流体)。因此,你不能仅仅使用你在文章中提到的CSS就将div垂直放置在中间。您需要使用javascript或jQuery来实现这一点。我以前做过这个,所以我只是在这里链接它


如中所述,
margin
属性包括
margin top
margin bottom
如果在
百分比中设置,则表示包含块的宽度(而不是高度)


所以,不能像固定尺寸容器那样使用
页边距顶部
页边距底部
垂直对齐流体容器。

可以在css中使用
显示:表格单元格
或摆弄
线条高度
-这只是一个开始,您可以使用尝试以下操作:

div.myDiv {
margin: 0 auto;
}

auto will get you the horizontal centering you are looking for OR you can just set auto for the entire myDiv to get both vertical and horizontal centering.

div.myDiv {
margin:auto;
}

谢谢我想是的,但为什么不可能呢?为什么IE和FF都支持水平居中而不支持垂直居中?@user1904159如果在
百分比中设置,则边距值总是指包含块的宽度。因此,不可能在<代码>边缘顶部< /代码>和<代码>边缘底部<代码>的情况下,考虑<代码>高度> /代码>。检查此链接谢谢!非常有帮助。:)抱歉,回复太晚。也可以像OP那样完成,除了
需要固定尺寸外。请转到本页