您好,登錄后才能下訂單哦!
現(xiàn)在越來(lái)越多的移動(dòng)界面使用rem適配,遇到的坑也不盡其數(shù),今天就移動(dòng)端android上line-height不居中的問(wèn)題提出自己的解決辦法。
據(jù)分析得知原因:
1.字體大小不要使用奇數(shù)字號(hào),帶小數(shù)點(diǎn)的更不要提了。也就是說(shuō)被2整除的整數(shù)且不可小于12px。
2.使用rem的單位時(shí)造成(根元素如果動(dòng)態(tài)改變時(shí),根元素字體可能不是整數(shù))。
那么,怎么解決了?
網(wǎng)上有好幾種,如
1.把字號(hào)內(nèi)外邊距等設(shè)置為需求大小的2倍,使用transform進(jìn)行縮放。只能針對(duì) 單個(gè)或者是一排的布局進(jìn)行縮放,如果是父級(jí)自適應(yīng)高度且可展示多行的,使用transform是有問(wèn)題的。因?yàn)閠ransform縮放是不影響頁(yè)面布局的。
2.把字號(hào)內(nèi)外邊距等設(shè)置為需求大小的2倍,使用zoom進(jìn)行縮放,可以完美解決。
3.把line-height設(shè)置為0,使用padding值把元素?fù)伍_(kāi),說(shuō)是可以完美解決(經(jīng)過(guò)測(cè)試,沒(méi)有用的?。?。
下面我列出自己的解決辦法:
使用
display: table-cell; text-align: center; vertical-align: middle;
這種自適應(yīng)垂直布局,不懂得自行百度,當(dāng)然,這種布局和浮動(dòng)一起使用會(huì)失效,怎么解決這個(gè)問(wèn)題,我常用的就是在外面包一個(gè)標(biāo)簽,把浮動(dòng)屬性放在此元素上,簡(jiǎn)單的代碼如下:
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no"> <meta content="yes" name="apple-mobile-web-app-capable"> <meta content="black" name="apple-mobile-web-app-status-bar-style"> <meta content="telephone=no" name="format-detection"> <meta http-equiv="Expires" content="-1"> <meta http-equiv="Cache-Control" content="no-cache"> <meta http-equiv="Pragma" content="no-cache"> <meta name="wap-font-scale" content="no"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="renderer" content="webkit|ie-comp|ie-stand"> <meta name="keywords" content=""> <meta name="description" content=""> <!--此處為簡(jiǎn)單的適配,不影響--> <script type="text/javascript" charset="utf-8"> ! function() { setRem(); window.addEventListener('orientation' in window ? "deviceorientation" : "resize", setRem); function setRem() { var html = document.documentElement; var width = html.clientWidth; html.style.fontSize = width / 16 + 'px' } }(); </script> <title>解決line-height問(wèn)題</title> <style type="text/css"> .bindBtn { display: table-cell; text-align: center; vertical-align: middle; width: 3rem; height: 1.5rem; font-size: .75rem; text-align: center; color: #fff; border-radius: 0.75rem; background-color: #f44975; text-decoration: none; } .buyBtn { display: table-cell; text-align: center; vertical-align: middle; width: 3rem; height: 1.5rem; border-radius: 0.75rem; font-size: 0.6rem; color: #fff; background: #666; } .float_left { float: left; } </style> </head> <body> <a class="bindBtn" href="javascript:;" rel="external nofollow" rel="external nofollow" >已邀請(qǐng)</a> <!--浮動(dòng)的情況 --> <a class="float_left" href="javascript:;" rel="external nofollow" rel="external nofollow" > <span class="buyBtn">購(gòu)買</span> </a> </body> </html>
在安卓機(jī)上效果如下:這里寫圖片描述
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持億速云。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。