评论

【笔记】小程序中的水平与垂直居中

较全面的水平居中与垂直居中介绍以及详解

在复习水平居中与垂直居中时发现居然有点忘了

因此写个笔记下来记录一下

只要涉及到CSS就绕不开定位问题,尤其是盒子居中。居中又分为水平居中和垂直居中,有多种实现方式,下面我便一一列出来。

水平居中

  1. inline元素:text-align: center
  2. block元素:margin: 0 auto
  3. absolute元素:left: 50% + margin-left负值(值为该元素宽度的一半)
  4. absolute元素:left: 50% + transform: translateX(-50%)

垂直居中

  1. inline元素:line-height的值等于height值
  2. absolute元素:top:50%+margin-top负值(值为该元素高度的一半)
  3. absolute元素:top:50%+transform: translateY(-50%)
  4. absolute元素:有固定宽高度+top,left,bottom,right=0 + margin:auto

水平垂直居中

就是上述的水平居中+垂直居中合起来
这里我举几个常用的例子:

1. 放在定位是relative盒子内的absolute盒子:

top: 50%;left: 50%;transform: translate(-50%,-50%);

2. 知道盒子的宽度和高度

top: 50%;left: 50%;
加上
margin-left负值(值为该元素宽度的一半);margin-top负值(值为该元素高度的一半)

3. 放在定位是relative盒子内的absolute盒子且该盒子有固定宽高:

top,left,bottom,right=0 + margin:auto

4. CSS3弹性布局(flex)

如果使用CSS3的弹性布局(flex)的话,问题就会变得容易多了。使用CSS3的弹性布局很简单,只要设置父元素设置成
display:flex // flex布局
align-items:center;// 元素水平居中
justify-content:center;// 元素垂直居中

欢迎大家在评论区提出问题

觉得文章对你有帮助的不妨点个赞~

最后一次编辑于  2021-11-13  
点赞 7
收藏
评论

7 个评论

  • 不平
    不平
    2021-11-13

    感觉还是flex最灵活,配置起来也简单一些

    2021-11-13
    赞同 2
    回复 1
    • Smooth
      Smooth
      2021-11-14
      flex确实香
      2021-11-14
      1
      回复
  • 粽
    2021-11-13

    看到你的这篇文章我发现我也忘得差不多了🤣借此复习一下,感谢分享

    2021-11-13
    赞同 2
    回复 1
    • Smooth
      Smooth
      2021-11-13
      一起加油~
      2021-11-13
      1
      回复
  • 老张
    老张
    2021-11-14

    flex only

    2021-11-14
    赞同 1
    回复 1
    • Smooth
      Smooth
      2021-11-14
      flex yyds
      2021-11-14
      1
      回复
  • 知非
    知非
    2021-11-13

    自己做小程序的途中经常忘记这些,这篇文章总结的蛮好,学到很多东西。

    2021-11-13
    赞同 1
    回复 2
    • Smooth
      Smooth
      2021-11-13
      一起加油hh
      2021-11-13
      2
      回复
    • 知非
      知非
      2021-11-13回复Smooth
      好~期待下一篇文章!
      2021-11-13
      1
      回复
  • NAMELESS
    NAMELESS
    2021-11-13

    写得挺详细,以后参考参考。不过我想问下,我经常使用的放在定位是absolute盒子内的absolute盒子应该怎么写比较好呢?因为我一般是手动计算进行定位。


    2021-11-13
    赞同 1
    回复 2
    • Smooth
      Smooth
      2021-11-13
      要是最外面没relative,那这个绝对定位都会以最外层也就是小程序页面最顶端作为开始定位的点,其实不太方便,因为要计算一阵子top值,我个人还是比较推荐你在这两个absolute外面套一层relative,然后通过文档流进行margin-top或top来调整位置都方便了很多
      2021-11-13
      1
      回复
    • NAMELESS
      NAMELESS
      2021-11-13回复Smooth
      女子,学至刂了。
      2021-11-13
      回复
  • 陈凡
    陈凡
    2023-07-06

    给力!

    2023-07-06
    赞同
    回复
  • 上善若水
    上善若水
    2022-03-27

    如果是在页面中垂直居中呢

    2022-03-27
    赞同
    回复
登录 后发表内容