水平,垂直居中总结

在使用css布局时会碰到各种各样的居中问题,在这里总结几种情况,希望大家纠错和补充.

文字

文字需要居中的情况有这么两种

水平居中

  • text-align常常用于盒子里的文字、图片等内容居左、居中、局右。比较常见是常规的让内容居左或居中对齐排列.text-align:center

垂直居中

  • 在一排的文字或内容布局中,如果要让内容上下垂直居中,我们只需要设置line-height与height高度相同即可

div元素

水平居中

使用margin:0 auto即可

水平并且垂直居中

方法一:
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style type="text/css">


        .container{
            width:800px;
            height:400px;
            position: relative;
            background-color: #CCCCCC;
        }
        .box{
            background-color: #ffcc00;
            width:300px;
            height:200px;
            position:absolute;
            top:calc(50% - 100px);
            left:calc(50% - 150px);
        }
    </style>
</head>
<body>
<div class="container">
    <div class="box"></div>
</div>
</body>
</html>

方法二:
.box{
    background-color: #ffcc00;
    width:300px;
    height:200px;
    position:absolute;
    top:50%;
    left:50%;
    margin:-100px 0 0 -150px;
}

方法二只需要修改.box这个样式即可


第一种方法用到了calc函数.因为position这个属性,box相对于父元素定位,calc函数准确计算出了box居中所需要的left和top值.

第二种方法与第一种有些相似,box也是相对于父元素定位,先用百分比设定top和left值margin,再利用margin进行调整.


方法三:
.box{
    background-color: #ffcc00;
    width:300px;
    height:200px;
    position:absolute;
    top:0;
    left:0;
    right:0;
    bottom:0;
    margin:auto;
}

绝对定位下top left right bottom 都设置0,再margin: auto 就可以将元素垂直水平居中.

绝对定位的布局取决于三个因素,一个是元素的位置,一个是元素的尺寸,一个是元素的margin值。
而没有设置尺寸和 margin 的元素会自适应剩余空间,位置固定则分配尺寸,尺寸固定边会分配 margin,都是自适应的

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值