网站地图    收藏   

主页 > 前端 > css教程 >

CSS中的-webkit-text-size-adjust属性

来源:未知    时间:2017-09-06 11:12 作者:xxadmin 阅读:

[导读] CSS中的-webkit-text-size-adjust属性详解 在css里发现这么一个属性 -webkit-text-size-adjust ,百度了一下,发现知乎上有位大神的回复很不错,先搬过来参考一下,以后有时间在研究。 -webkit-tex...

CSS中的-webkit-text-size-adjust属性详解

在css里发现这么一个属性 -webkit-text-size-adjust ,百度了一下,发现知乎上有位大神的回复很不错,先搬过来参考一下,以后有时间在研究。

-webkit-text-size-adjust 的本职是用于mobile的,见规范 CSS Mobile Text Size Adjustment Module Level 1 和 apple 的 Safari Web Content Guide

之所以现在的桌面版webkit浏览器支持他,是因为实际上这是一下bug。Bug 56543 – CSS property "-webkit-text-size-adjust" means different things in Safari and iOS

这个bug在最新版的 WebKit Nightly Builds 里已经被修复了。

这属性现在的一般用处是防止iPhone在坚屏转向横屏时放大文字(注意,就算viewport设置了maximum-scale=1.0 文字还是会放大的)。

而且iPhone和iPad的默认设定是不一样的

iPhone默认设定 -webkit-text-size-adjust: auto;

iPad默认设定 -webkit-text-size-adjust: none;

所以iPad默认是不调节的。

此属性还支持百分比,这在当前的桌面版的webkit浏览器是不支持的,所以如果不想让iPhone横坚屏切换的时候调节文字,用 -webkit-text-size-adjust: 100%; 绝对不能用 -webkit-text-size-adjust: none; 这会导致仍然支持 -webkit-text-size-adjust: none;的桌面版的webkit浏览器无法人为放大文字大小,严重影响可用性。


关于如何在chrome里实现小于12px的文字。

当然文字缩小到12px以下本来就一定程度影响到可用性了,建议无视chrome的这个特性。

硬要实现的话,我想到的一个变通方法是

先用js判断是否为chrome (至今还没听说有区分safari 和 chrome 的 css hack )

var isChrome = !!window.chrome;

再用-webkit-transform: scale( ) 缩小到合适值。


自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论