iOS/移动的Safari是否为其字体编辑控件提供JavaScript事件或媒体查询?

xwmevbvl  于 12个月前  发布在  iOS
关注(0)|答案(2)|浏览(102)

我设计的一个响应式网站使用js来确定字体大小,然后应用css用于各种布局调整的类。我的js检测到一个文本字符周围的跨度的大小。最新版本的移动的Safari提供了一个字体大小控制,其缩放机制并没有触发我的检测js。任何关于事件或其他变化的想法,我可以用来检测移动的Safari的字体?也许是一个css媒体查询?我尝试了一个基于js intersectionobserver的解决方案:在桌面上工作,但不能在移动的上工作:-(

disho6za

disho6za1#

根据MDN
text-size-adjust CSS属性控制某些智能手机和平板电脑上使用的文本膨胀算法。其他浏览器将忽略此属性。
确保包含CSS属性,例如

/* Keyword values */
text-size-adjust: none;
text-size-adjust: auto;

/* <percentage> value */
text-size-adjust: 80%;

/* Global values */
text-size-adjust: inherit;
text-size-adjust: initial;
text-size-adjust: unset;

字符串
但是,iOS版Safari仅支持非百分比值。
此外,考虑查看Apple的文档,其中解释了如何使用文本大小调整因子的百分比。

html {-webkit-text-size-adjust:200%}


我不确定哪一个是正确的,因为它们相互冲突。你必须自己测试,看看什么最适合你。
PS:请务必为提到的属性添加-webkit-前缀,以确保其适用于Safari和其他WebKit浏览器。

kmpatx3s

kmpatx3s2#

因此,移动的safari所做的是:当字体放大时,实际上是视口变窄。有一个广泛支持的window.matchMedia(media query here)方法,它返回一个“媒体查询对象”,可以向其添加侦听器。在我的例子中,我想知道视口何时比apx. 320 px窄.在这种情况下,我将应用我的样式类。

相关问题