问题来源:

在近期的项目中要实现图中圆圈里面的数字垂直居中的效果

解决思路:

  • 方案1:line-height(在addroid下会出现问题)

       通过设置line-height的高度等于父元素的高度一般会达到垂直居中的效果,但是在android出现
       了问题
    
  • 方案2:vertical-align(在addroid下会出现问题)

       一般通过将父元素设置为display: table; 子元素设置为 display: table-cell; vertical-
       align: middle;  也会达到居中的效果;但是屡试不爽的vertical-align在android下也不行了
       
    

  • 方案3:transform(亲测可用)

     将父元素position: relative; 或position:absolute;将要居中的子元素position:absolute;
     再将子元素的top:50%;这样子元素就会距离顶部元素有一个父元素一半高度的距离,之后再将子元素
     往上移动其自身高度的一半,就会达到垂直居中的效果,子元素往上移动可以用
     transform:translate(-50%,-50%)
    

   **代码示例:**

         .circle
              width 1.6rem
              height 1.6rem
              border-radius 50%
              box-sizing border-box
              background #7fb8df
              color #ffffff
              position absolute
              line-height 1
              top 0
              left -0.8rem
              z-index 1
              span
                font-size 1.2rem
                display inline-block
                position absolute
                top 50%
                left 50%
                text-align center
                transform translate(-50%,-50%)
                line-height 1 
    

rascalhao
182 声望5 粉丝

年轻是一种态度