移動(dòng)端android上line-height不居中的問題的解決
現(xiàn)在越來越多的移動(dòng)界面使用rem適配,遇到的坑也不盡其數(shù),今天就移動(dòng)端android上line-height不居中的問題提出自己的解決辦法。
據(jù)分析得知原因:
1.字體大小不要使用奇數(shù)字號(hào),帶小數(shù)點(diǎn)的更不要提了。也就是說被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是有問題的。因?yàn)閠ransform縮放是不影響頁面布局的。
2.把字號(hào)內(nèi)外邊距等設(shè)置為需求大小的2倍,使用zoom進(jìn)行縮放,可以完美解決。
3.把line-height設(shè)置為0,使用padding值把元素?fù)伍_,說是可以完美解決(經(jīng)過測(cè)試,沒有用的?。?。
下面我列出自己的解決辦法:
使用
display: table-cell; text-align: center; vertical-align: middle;
這種自適應(yīng)垂直布局,不懂得自行百度,當(dāng)然,這種布局和浮動(dòng)一起使用會(huì)失效,怎么解決這個(gè)問題,我常用的就是在外面包一個(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問題</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" style="text-decoration: none;margin-top: 0.5rem;" href="javascript:;" rel="external nofollow" rel="external nofollow" >
<span class="buyBtn">購(gòu)買</span>
</a>
</body>
</html>
在安卓機(jī)上效果如下:這里寫圖片描述

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- android imageview圖片居中技巧應(yīng)用
- Android應(yīng)用借助LinearLayout實(shí)現(xiàn)垂直水平居中布局
- Android實(shí)現(xiàn)button居中的方法
- Android編程實(shí)現(xiàn)修改標(biāo)題欄位置使其居中的方法
- Android手機(jī)開發(fā) 使用線性布局和相對(duì)布局實(shí)現(xiàn)Button垂直水平居中
- Android App中使用LinearLayout進(jìn)行居中布局的實(shí)例講解
- Android 讓自定義TextView的drawableLeft與文本一起居中
- Android布局居中的幾種做法
- Android編程中TextView寬度過大導(dǎo)致Drawable無法居中問題解決方法
相關(guān)文章
詳解Flutter如何在單個(gè)屏幕上實(shí)現(xiàn)多個(gè)列表
這篇文章主要為大家詳細(xì)介紹了Flutter如何在單個(gè)屏幕上實(shí)現(xiàn)多個(gè)列表,這些列表可以水平排列、網(wǎng)格格式、垂直排列,甚至是這些常用布局的組合,感興趣的小伙伴可以了解下2023-11-11
Android自定義listview布局實(shí)現(xiàn)上拉加載下拉刷新功能
這篇文章主要介紹了Android自定義listview布局實(shí)現(xiàn)上拉加載下拉刷新功能,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-12-12
Android ButtonOnClick事件的寫法總結(jié)
這篇文章主要介紹了Android ButtonOnClick事件的寫法總結(jié)的相關(guān)資料,這里把Android ButtonOnClick的寫法做個(gè)總結(jié),希望能幫助到大家,需要的朋友可以參考下2017-07-07
android 處理配置變更的實(shí)現(xiàn)方法
這篇文章主要介紹了android 處理配置變更的實(shí)現(xiàn)方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-07-07
Android中ScrollView嵌套GridView顯示不全解決方法
這篇文章主要介紹了Android中ScrollView嵌套GridView顯示不全解決方法的相關(guān)資料,需要的朋友可以參考下2017-04-04
利用Kotlin的協(xié)程實(shí)現(xiàn)簡(jiǎn)單的異步加載詳解
這篇文章主要給大家介紹了關(guān)于利用Kotlin的協(xié)程實(shí)現(xiàn)簡(jiǎn)單的異步加載的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2018-03-03
Windows下搭建Flutter開發(fā)環(huán)境
這篇文章介紹了Windows下搭建Flutter開發(fā)環(huán)境的方法,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-11-11

