寻求支持iOS 16的CSS Hack:适配Safari 16的新方案咨询
适配Safari 16的CSS Hack方案
此前使用的以下CSS Hack仅在iOS 15.6及以下版本生效,在iOS 16中失效:
@media not all and (min-resolution:.001dpcm) { @supports (-webkit-appearance:none) {} }
原来的Hack失效是因为Safari 16调整了对min-resolution媒体查询的解析逻辑,导致特征检测不再生效。以下是几种可适配Safari 16(含旧版)的替代方案:
方案1:覆盖所有Safari版本(含16+)
利用Safari独有的WebKit属性组合做特征检测,写法如下:
@supports (-webkit-hyphens:none) and (font:-apple-system-body) { /* 此处编写针对所有Safari版本的样式 */ }
方案2:精准命中iOS 16+ Safari
如果需要单独针对iOS 16及以上版本的Safari,可以使用以下组合:
@media (min-width: 0.1px) and (-webkit-min-device-pixel-ratio: 0.1) { @supports (-webkit-backdrop-filter: blur(0)) and (color: #0000) { /* 此处编写iOS 16+ Safari专属样式 */ } }
这些方案通过检测Safari独有的属性支持情况,避开了旧版Hack中失效的媒体查询逻辑,能稳定适配包括Safari 16在内的新版本。
内容的提问来源于stack exchange,提问作者overcaffeinated
相关产品推荐
相关产品推荐

