关于html的文字上下居中问题

我想让文字段

在div中居中,我给了p一个margin:auto 15px;但是左右是居中了上下没有居中。我有考虑过用text-align居中,但是那个最后面的那句话没有向左对齐而是跟着居中了,格式也不对啊,请教各位怎样达到我想的那种效果,就是段落格式还是原有的,只不过上下要居中

居中显示文字段
<br> *{<br> margin:0px;<br> padding:0px;<br> }<br> div{<br> margin:0 auto;<br> text-align:center;<br> height:500px;<br> border:1px red solid ;<br> }<br> p{<br> position:relative;<br> top:50%;<br> }<br>



你好,我是King-G!
这是一小段话

</div>

图片说明

先用left竖向让文本框向左对齐,然后用text-align让文本框中的文字居中就可以了!

贴出你想要的效果图,OK?

_____________css

        .box{
            display: flex;
            justify-content: center;
            align-items: center;
            width: 500px;
            height: 500px;
            border: 5px solid pink;
            margin: auto;
        }
        p{
            width: 300px;
        }

___________html

    <div class='box'><p>...</p></div>

图片说明

除了flex布局 也可以用绝对定位+transfrom来实现,其实就是将p标签上下左右居中,和块级元素居中的道理都是一样的

将margin的四个值一一设出来。、。。。。。