一段css代码问题

<div id="child">高度无效,求解释

<!DOCTYPE html>
<html>
    <head>
        <title>居中</title>
        <style>
            #parent{
                position:relative;
            }
            #child{
                width:200px;
                height:200px;
                position:absolute;
                top:50%;
                height:50%;
                margin-top: -100px;
                margin-left: -100px;
                border:1px solid;
            }
        </style>
    </head>
    <body>
        <div id="parent">
            <div id="child">
                
            </div>
        </div>

    </body>
</html>
阅读 2.8k
3 个回答

我看代码里有一个height:200px,后面为什么又有个height:50% ?

你想写的是这样的吧

#child{
    width:200px;
    height:200px;
    position:absolute;
    top:50%;
    /* left写成了height ??? */
    left:50%;
    margin-top: -100px;
    margin-left: -100px;
    border:1px solid;
}
    <style>
        #parent{
            position:relative;
        }
        #child{
            width:200px;
            > height:200px;
            position:absolute;
            top:50%;
            > height:50%;
            margin-top: -100px;
            margin-left: -100px;
            border:1px solid;
        }
    </style>

注意我加粗的两部分
下面那条设置的高度是50% 同时设置两次高度 上面那条不好使

这个50%怎么计算呢?

它是父元素高度的50%
而你并没设显式设定父的高度为绝对数值

则默认其高度为0
因此子的高度当然为0啦

当然了 事实不完全是这样 但是可以这样去理解

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题