加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 综合聚焦 > 编程要点 > 语言 > 正文

css中div不设高度能不能完全居中?

发布时间:2023-07-21 13:54:00 所属栏目:语言 来源:
导读: 在开发过程中,很多需求需要我们居中一个div,而CSS实现div居中的方法有很多,那么div不设高度能完全居中吗?答案是可以的,这篇文章主要就给大家介绍div不设置高度如何实现完全居中效果,以下是实现要求:

  在开发过程中,很多需求需要我们居中一个div,而CSS实现div居中的方法有很多,那么div不设高度能完全居中吗?答案是可以的,这篇文章主要就给大家介绍div不设置高度如何实现完全居中效果,以下是实现要求:
 
        要求
 
 body下div垂直居中
 
div内文字垂直居中
 
div宽度和高度均为body宽度的一半
 
        分析
 
div居中不难,考虑 margin 或者 left/top 配合 translate 属性实现
 
关键点在于div高度等于body一半,由于body没有高度,设置div height: 50%;得到的结果是div的高度为0
 
即使通过对body进行绝对定位的手段使得body高度为100vh,div高度设置50%也只能是body高度的一半,而不是宽度的一半
 
此时要借助于 padding ,因为padding设置百分比时,参考便是父容器的宽度
 
        代码
 
<!DOCTYPE html>
 
<html lang="en">
 
<head>
 
    <meta charset="UTF-8">
 
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
 
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
 
    <title>Document</title>
 
    <style>
 
        body{
 
            padding: 0;
 
            margin: 0;
 
        }
 
        #box{
 
            width: 50%;
 
            /* div处置居中 */
 
            position: relative;
 
            transform: translate(50%, 25%);
 
            /*  */
 
            /* 此处解决div高度为body宽度的一半,并且文字垂直居中 */
 
            padding-top: 25%;
 
            padding-bottom: 25%;
 
            line-height: 0;
 
            text-align: center;
 
            /* */
 
            background-color: #111;
 
            color: #fff;
 
        }
 
    </style>
 
</head>
 
<body>
 
    
 
    <div id="box">
 
        box123
 
    </div>
 
</body>
 
</html>
 
 

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章