前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >HTML盒子水平垂直居中

HTML盒子水平垂直居中

作者头像
切图仔
发布2022-09-08 15:06:06
3.4K0
发布2022-09-08 15:06:06
举报
文章被收录于专栏:生如夏花绚烂

以前我们使定位的盒子水平/垂直居中可能是这样的

代码语言:javascript
复制
    .father{
            width:300px;
            height:200px;
            border:1px solid red;
            margin: 100px auto;
            position: relative;
        }
        .son{
            width:70px;
            height:50px;
            background: skyblue;
            position: absolute;
            left:50%;
            margin-left: -35px;


        }

父元素设置相对定位,子元素绝对定位,左边父元素的50% 效果如下

可见盒子还是向右边偏了一点,这是由于子盒子自身宽度的原因,我们只需使子盒子在向左移动自身宽度的一半,即可实现水平居中

因此我们可能会这样做

代码语言:javascript
复制
margin-left: -35px;

子盒子原宽度70px 向左移动自身宽度的一半确实能解决问题

但这个宽度是我们自己算出来的,如果盒子的宽度不能整除怎么办?是不是有点麻烦。

前面一篇文章提到过transform属性

transform:translate(x,y)如果单位为像素,则相对于父元素移动,如果单位为百分比则相对于自身移动

有了这个特性我们这里就很好解决了,将原来的margin-left替换为transform:translateX(%)即可

垂直居中同理。

代码语言:javascript
复制
.son{
            width:70px;
            height:50px;
            background: skyblue;
            position: absolute;
            left:50%;
            /*margin-left: 20%;*/
            transform: translateX(-50%);


        }
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-04-26 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档