程序员

CSS实现div不设高度完全居中

作者:admin 2021-04-08 我要评论

要求 body下div垂直居中 div内文字垂直居中 div宽度和高度均为body宽度的一半 分析 div居中不难,考虑 margin 或者 left/top 配合 translate 属性实现 关键点在...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)

要求

  •  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>

效果

到此这篇关于CSS实现div不设高度完全居中的文章就介绍到这了,更多相关CSS div不设高度完全居中内容请搜索脚本之家以前的文章或继续浏览下面的相关文章,希望大家以后多多支持脚本之家!


原文链接:https://m.jb51.net/css/763402.html

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
  • 得物技术谈谈算法入:算法的好坏?复杂

    得物技术谈谈算法入:算法的好坏?复杂

  • Forrester Wave? 扫盲贴

    Forrester Wave? 扫盲贴

  • 知晓云已支持快手小程序,优质内容生产

    知晓云已支持快手小程序,优质内容生产

  • KubeVela 1.0 :开启可编程式应用平台

    KubeVela 1.0 :开启可编程式应用平台

腾讯云代理商
精彩导读
海外云服务器
热门资讯
腾讯云代理商