移动端 line-height 文字不居中问题解决方案

在移动端中使用 line-height=容器高度 实现文字垂直居中时,在安卓手机会发现文字偏上的问题。小编总结了两个比较合理且简单的解决方案;

上效果图

从以上的效果图中,能感觉到 “按钮三”的文字会有轻微的向上偏移的问题(不同字号和浏览器的偏移大小不同)。

小编觉得 flex 方案 和 padding 方案较为简单与合理,下面是源码。源码中有优缺点和特殊属性的说明;

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>演示DEMO</title>
    <style type="text/css">
        /* 按钮基础样式 */
        .btn{
            height: 32px;
            background-color: #0089FF;
            border-radius: 16px;
            text-align: center;
            font-size: 14px;
            color: #fff;
            width: 120px;
        }
        /* 水平线样式 */
        hr{
            height: 0;
            border: none;
            border-top: #ddd solid 1px;
            margin: 10px;
        }
        /* flex 方案 */
        .flex{
            line-height: normal;    /* 重点:设置内容行高为 normal */
            display: flex;
            flex-direction: row;
            flex-wrap: nowrap;
            justify-content: center;
            align-items: center;
            align-content: center
        }
        /* padding 方案 */
        .padding{
            line-height: normal;    /* 重点:设置内容行高为 normal */
            height: auto;           /* 重点:设置容器高度为 auto */
            padding: 7px 0;         /* 填写一个与设计稿相近的值,不如 flex 方案精确,但是更为简单,非强制要求下可以使用 */
        }
    </style>
</head>

<body>
    <div class="btn flex">按钮一</div>
    <hr>
    <div class="btn padding">按钮二</div>
    <hr>
    <div class="btn" style="line-height: 32px;">按钮三</div>
</body>
</html>

作者:黄河爱浪 QQ:1846492969,邮箱:helang.love@qq.com

公众号:web-7258,本文原创,著作权归作者所有,转载请注明原链接及出处。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值