CKBABA 2023-12-22 12:02 采纳率: 66.7%
浏览 4
已结题

用绝对定位,margin:auto.使子元素垂直水平居中,垂直方向的上方被屏蔽了。

用绝对定位和margin:auto,使子元素垂直水平居中,子元素比父元素大,并且设置了滚动,代码如下。
问题:为什么垂直方向的上方被屏蔽了,而水平方向并没有。
看图,margin-left 为0;margin-right:为被滚动的宽度。但是margin-top和margin-left,是均分的。那我想要解决被屏蔽的问题,怎么办?

img

<!DOCTYPE html>
<html>

<body>
    <div class="parent">
        <div class="child">
            <div>
                im a coconut
            </div>
        </div>
    </div>
    <style>
        .parent {
            width: 500px;
            height: 500px;
            background-color: black;
            position: relative;
            overflow: auto;
        }

        .child {
            width: 800px;
            height: 800px;
            position: absolute;
            top: 0;
            bottom: 0;
            left: 0;
            right: 0;
            margin: auto;
            background-color: brown;
            border: 3px solid black;
            box-sizing: border-box;
        }
    </style>
</body>

</html>
  • 写回答

3条回答 默认 最新

  • CKBABA 2023-12-22 14:22
    关注

    已经解决了,用grid

    .parent{
                display: grid;
                place-items: center;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 12月30日
  • 已采纳回答 12月22日
  • 修改了问题 12月22日
  • 修改了问题 12月22日
  • 展开全部