在IOS的Safari中,多行字体大小设置完全一致的文字。在显示上,有浮动的元素内文字更小,普通的元素内文字更大。
只在IOS下出现,Android以及Chrome模拟下不会出现该问题
这些文字都是同样的font-size!!!
重现环境:
系统:IOS 10.3.3
浏览器:Safari, UC浏览器(IOS上QQ浏览器不会出现该问题)
出现条件:
将viewport设置为init-scale=0.5
详细描述:
由于想要解决移动端1px的问题,尝试设置了initial-scale=0.5。发现页面上所有字体都等比缩放了,唯一出现了一行文字比其他文字都要大。尝试输出了他们的getComputedStyle().fontSize都为24px,可显示上明显不同。
目前发现影响字体是否变大的因素:是否有子元素,是否浮动,是否换行,页面中是否有其他被放大的文字。(各种组合可以下载DEMO尝试)
DEMO
DEMO源码:
projectbody { line-height: 1; }
.item { margin-bottom: 20px; font-size: 24px !important; float: left; }
.tips { clear: both; font-size: 24px !important; margin-top: 20px; }
span { color: red; }
A.左浮动的元素,我的字体更小
B.左浮动的元素,不存在span元素,文字需要换行,左浮动的元素,不存在span元素,文字需要换行
C.左浮动的元素,
有span元素,但是不用换行
D.左浮动的元素,如果我换行了,B也会变大,如果我不用换行,B就和AC一样大
E.普通元素,
有span,字体更大
F.普通元素,没span,如果页面里没有变大的文字,我的字体就更小