Html CSS";top";属性不使用百分比(%),但使用像素(px)

Html CSS";top";属性不使用百分比(%),但使用像素(px),html,css,Html,Css,正文{ 背景#8E2800; } #主要{ 背景:紫色; 位置:相对位置; 颜色:白色; } #头衔{ 背景:灰色; 位置:绝对位置; 最高:50%; 左:50%; 身高:40%; 宽度:50%; } 天气预报 位置:相对于最近定位祖先的边缘的绝对位置 #main具有位置:相对,因此它是#title相对于的元素 #main没有正常流动的内容(唯一的内容是绝对定位的),它的高度为auto(默认值)。因此,计算的高度为0 0的50%是0 您需要相对于其他对象(例如,通过从#main中删除位置:re

正文{
背景#8E2800;
}
#主要{
背景:紫色;
位置:相对位置;
颜色:白色;
}
#头衔{
背景:灰色;
位置:绝对位置;
最高:50%;
左:50%;
身高:40%;
宽度:50%;
}

天气预报

位置:相对于最近定位祖先的边缘的绝对位置

#main
具有
位置:相对
,因此它是
#title
相对于的元素

#main
没有正常流动的内容(唯一的内容是绝对定位的),它的
高度
auto
(默认值)。因此,计算的高度为
0

0的
50%
0


您需要相对于其他对象(例如,通过从
#main
中删除
位置:relative
来定位视口)或给
#main
一些高度(通过添加内容或使用
height
属性)。

top
是相对于父对象的,如果您指定了百分比,它是父体高度的百分比。但是父对象没有(明确的)高度,因此这不起作用。我很乐意提供一个答案(可能使用大众汽车或类似的装置),但我不清楚你到底想做什么。你不工作是什么意思?你期望的和你得到的有什么区别?谢谢你的回答,我正在尝试将#title div居中。根据你的回答,我将父div的高度设置为px,然后它工作了,它将wrt居中到父div的高度。但是我不想为父div设置特定的高度,而是想将#title div居中,如果父容器
main
没有高度,那么它的子容器如何知道如何居中?父容器也应该有高度