移动端安卓文字垂直居中偏上偏移的解决方案

2023-11-03

移动web里小于12px的文字居中异常的问题,最后还是改为12px才近乎解决了问题。但是有时候或许并不是那么乐观,你并不能将原本定为10px的字体改为12px。那该怎么办呢。

我们都知道,移动端为了高清屏显示1px的border,会有那么几种方法,通常最好的方法是transform scale,并且支持圆角。既然一个border能缩放,那么整个文字区域自然也能缩放。

 

CSS是这样的:

 

<style>
.corner {

display: inline-block;
position: absolute;
top: -6px;
left: 35%;
width: 40px;
height: 14px;
background: -webkit-linear-gradient(left,#CA9858, #EFBF5E);
background: -webkit-gradient(linear,0% 0%, 100% 100%,from(#CA9858),to(#EFBF5E));
background: linear-gradient(top, #CA9858, #EFBF5E);
background-color: #EFBF5E;
font-size: 9px;
line-height: 11px;
text-align: center;
border-radius: 5px;
color: #fff;
}

</style>

 

 

开始缩放,我们将各个尺寸乘以2,然后缩放为原来的一半,定位的尺寸就不用了,然后我们相对于左上角的0,0点缩放:

<style>
.corner {

display: inline-block;
position: absolute;
top: -6px;
left: 35%;
width: 80px;
height: 30px;
background: -webkit-linear-gradient(left,#CA9858, #EFBF5E);
background: -webkit-gradient(linear,0% 0%, 100% 100%,from(#CA9858),to(#EFBF5E));
background: linear-gradient(top, #CA9858, #EFBF5E);
background-color: #EFBF5E;
font-size: 18px;
border-radius: 14px;
color: #fff;
-webkit-text-size-adjust: none;
box-sizing: border-box;
line-height: 30px;
-webkit-transform: scale(0.5);
transform: scale(0.5);
-webkit-transform-origin: 0 0;
transform-origin: 0 0;
}

</style>

 

}

现在就好多了,或许是line-height在移动端确实不怎么样,居中效果并不好,应该改为padding,然后再进行缩放。

再尝试一种方案,给元素外层再包一层父元素,用display:table来实现。

 

<div class="label-parent">
  <p class="label">你是谁</p>
</div>

<style>
.label-parent {
  display:table;
  height: 40px;
  line-height: 40px;
  font-size: 20px;
  border: 1px solid #000;
  -webkit-transform: scale(0.5);
  transform: scale(0.5);
  -webkit-transform-origin: 100% 100%;
  transform-origin: 100% 100%;
}
.label {
  display: table-cell;
  vertical-align:middle;
} 

</style>

这样应该是比较健全的的方案,多写一层,抛弃掉padding和line-height,最后实现的效果也不错。有童鞋可能会担心会糊,确实chrome模拟器是会糊的,但手机屏幕大都是高清屏幕,几乎不会出现模糊的情况。

 

在IOS和Android4.x上工作正常,但Android2.3  并不会缩放,搜索一通有说是scale和translate一起不管用的,有说viewport设置的,不过都没用,所以可以给Android2.x单独设置未缩放的样式,只要排版不乱就好。

.label-2x {
  height: 20px;
  line-height: 20px;
  font-size: 10px;
  border: 1px solid #000;
}

那如何知道系统是2x呢,在Special CSS3 Scaling for andriod version less than 2.3发现了一段好用的脚本:

var ua = navigator.userAgent;
if( ua.indexOf("Android") >= 0 ) {
  var androidversion = parseFloat(ua.slice(ua.indexOf("Android")+8));
  if (androidversion <= 2.3) {
      // alert('andriod < 2.3');
      // your code here
  }
}

你可以动态的加一段css到style里,如果只有一个标签你也可以直接操作dom改变样式。

<style>

background: -webkit-linear-gradient(left,#CA9858, #EFBF5E);
background: -webkit-gradient(linear,0% 0%, 100% 100%,from(#CA9858),to(#EFBF5E));
background: linear-gradient(top, #CA9858, #EFBF5E);
background-color: #EFBF5E;
</style>

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

移动端安卓文字垂直居中偏上偏移的解决方案 的相关文章

  • Python 控制舵机

    原理 UNO R3中写入控制舵机转动度数的程序 该程序一直检测 serial是否又数据 有则操作舵机 python程序负责向 serial 写入数据 并可以通过serial读取 舵机角度的信息 1 硬件连接 说明 示例中的信号线接的是10号
  • 关于 dell 戴尔 工作站 首次开机 start pxe over ipv4 以及 关闭PXE后还没有网络的 新款 bios 设置

    当你关闭bios后进去了发现木有网卡 或者拔掉网线进去电脑后插上网线木有网卡 新款bios设置截图 三个选项分别是 Disable 关闭 The internal LAN is off and not visibleto the opera
  • 人脸识别OPENCV

    usr bin python coding UTF 8 文件名 test py import os fb open a txt w with open at txt r as alc i 0 for line in alc print li
  • 快速排序python实现

    简述过程 1 设置标准值为列表第一个prime lst 0 2 设置指针cur1 和 cur2 初始位置的索引分别为0和len lst 1 cur1和cur2描述的是索引index 指针2 从列表后方向前遍历 找到比标准值小或者和标准值相等

随机推荐

  • select 中的union 和union all用法

    UNION The UNION command is used to select related information from two tables much like the JOIN command However when us
  • Linux 使用 Systemd 管理进程服务(新手必看)

    systemd 介绍 systemd是目前Linux系统上主要的系统守护进程管理工具 由于init一方面对于进程的管理是串行化的 容易出现阻塞情况 另一方面init也仅仅是执行启动脚本 并不能对服务本身进行更多的管理 所以从CentOS 7
  • python语言结构_Python语言学习之结构的用法

    Python语言的三种结构 顺序结构 将一条一条语句按顺序执行 分支结构 语句执行的时候 有不同的分支来执行 循环结构 当在执行语句时 有些是重复性的代码 即可使用循环进行操作 分支结构 if else 语句 if elif else 语句
  • openswan安装配置手册(RSA)

    下载地址 www openswan org download 下载源码包 openswan 2 6 32 tar gz 64 位CentOS 5 8 系统环境 1 解压编译安装openswan tar xvf openswan 2 6 32
  • 访问zabbix web页面格式混乱不能正常显示的问题

    通过搜索 找到了一个网友的一篇文章 https blog csdn net weixin 45607094 article details 100542394 修改下面的配置文件 把location 的注释去掉 原因是 一些静态文件没有进行
  • JSP中 page指令的应用

    JSP指令中 Page language 值只能 java extends 一定要继承Servlet session true JSP页面内可以直接使用session对象 import 用来导包 buffer和autoFlush 设置缓冲区
  • 浏览器插件crx文件怎么导入到谷歌浏览器

    浏览器插件crx文件怎么导入到谷歌浏览器 作为开发人员 我们少不了和浏览器插件打交道 比如Fehelper插件 我们下载的插件格式基本都是crx为后缀名的 下载好了之后 我们可以直接拖动插件文件到浏览器 会自动添加 然后就可以使用了 但是有
  • Python解离散数学

    离散数学 离散数学是对可数的 不同的或独立的数学结构的研究 一个很好的例子是像素 从手机到电脑显示器再到电视机 现代屏幕由数百万个称为像素的小点组成 这些点排列成网格 每个像素根据设备的命令以指定的颜色亮起 但每个像素只能显示有限数量的颜色
  • 频繁分配释放内存导致的性能问题的分析

    频繁分配释放内存导致的性能问题的分析 现象 1 压力测试过程中 发现被测对象性能不够理想 具体表现为 进程的系统态CPU消耗20 用户态CPU消耗10 系统idle大约70 2 用ps o majflt minflt C program命令
  • map容器的四种插入元素方法

    插入元素 四种插入方法比较 void display map
  • C++程序翻译成C语言程序

    C 程序翻译成C语言程序 C 语言是在C语言的基础上发展过来的 第一个C 的编译器实际上是将C 程序翻译成C原因程序 再通过C语言编译器进行编译 然而C语言中没有类的概念 只有结构 而且函数还是全局函数 没有类成员函数 在翻译时 将clas
  • 【华为OD机试】连续字母长度(C++ Python Java)2023 B卷

    题目描述 给定一个字符串 只包含大写字母 求在包含同一个字母的子串中 长度第k长的子串的长度 相同字母只取最长的那个子串 若子串中只包含同一个字母的子串数小于k 则输出 1 输入描述 第一行有一个字符串 1 lt 长度 lt 100 只包含
  • Git提示 fatal: Not a git repository 错误解决方法

    fatal Not a git repository or any of the parent directories git 提示说没有 git这样一个目录 解决办法如下 git init 然后在进行操作就可以了
  • 大学操作系统原理课程笔记

    进程的概念 定义 可并发执行的程序 在一个数据集合上运行的过程 申请 拥有资源 调度 线程 程序 静态概念 是指令和数据的集合 可长期存储 进程与程序对应关系 a 一个程序可以对应一个进程或多个进程 b 一个进程可以对应一个程序 或者一段程
  • ajax.beginform insertionmode,MVC Ajax.BeginForm InsertionMode

    的JavaScript引用的文件 CSHTML页 using Ajax BeginForm new AjaxOptions UpdateTargetId result LoadingElementId progress InsertionM
  • 【C#学习笔记】保存文件

    using System using System Collections Generic using System ComponentModel using System Data using System Drawing using S
  • Windows下Qt静态编译全解

    Windows下Qt静态编译全解 2012 04 16 16 59 05 转载 标签 杂谈 分类 QT Windows下Qt静态编译全解 2010 09 08 13 42 分类 QT 编译准备 下载NOKIA网站上的QT SDK 解压或安装
  • pyautogui 的截图及图片匹配

    pyautogui 的截图 import pyautogui as pg 官网有提在不同的操作系统上 具体操作还不太一样 我的环境 win10 python3 9 截图需依赖 Pillow PIL 库 截全屏 pg screenshot 只
  • 渗透测试流程是什么?7个步骤给你讲清楚!

    在学习渗透测试之初 有必要先系统了解一下它的流程 静下心来阅读一下 树立一个全局观 一步一步去建设并完善自己的专业领域 最终实现从懵逼到牛逼的华丽转变 渗透测试是通过模拟恶意黑客的攻击方法 同时也是在授权情况下对目标系统进行安全性测试和评估
  • 移动端安卓文字垂直居中偏上偏移的解决方案

    移动web里小于12px的文字居中异常的问题 最后还是改为12px才近乎解决了问题 但是有时候或许并不是那么乐观 你并不能将原本定为10px的字体改为12px 那该怎么办呢 我们都知道 移动端为了高清屏显示1px的border 会有那么几种