单行文字在安卓下不能垂直居中

问题:height 与line-height 组合实现单行文字垂直居中,在Android下总是不居中问题

场景: 邀请收徒  复制邀请码按钮 

原因:安卓设备像素转换物理像素的值不一致

解决方案: 利用padding-top 和 padding-bottom 和字体大小  结合zoom缩放来调整居中 目前适合的 有   24/@rem 31/@rem 33/@rem 34/@rem  35/@rem  40/@rem 42/@rem 48/@rem          只能根据UI设定的字体来微调。

.v-center(@height, @fontSize) {

    @ratio: @fontSize / (48/@re);//计算比例

    display: block;

    box-sizing: border-box;

    line-height: 1;

    height: auto;

    text-align: center;

    font-size: 48/@re;

    padding-top: ((@height/@ratio) - (48/@re))/(2/@ratio);

    padding-bottom: ((@height/@ratio) - (48/@re))/(2/@ratio);

    zoom: @ratio;

}

例如:我要实现一个垂直居中的按钮

<a href="" class='btn'></a>

.btn{

width:120/@re;

border-radius:100/@re;

color:#fff;

text-align:center;

position:absolute;

top:30/@re;

right:30/@re;

.v-center(54/@re,24/@re); 

}

要用less写 

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容