【IOS webview】IOS13不支持svelte 样式嵌套

文章目录

场景

发现页面在IOS 13 的webview上样式错位了。显然css没有被正确的加载。

技术栈:svelte

样式:scss

排查

发现错位的样式在scss中有嵌套:

css 复制代码
.left-tip {
      display: flex;
      font-size: 16px;
      img {
        width: 20px;
        height: 20px;
        margin-right: 24px;
      }

嵌套部分的样式就是错位的。

调试后发现:
svelte的scss嵌套编译后会出现:where 。 这个代码表示嵌套。

IOS13不支持where。因此样式会错位。

来源:

"where" | Can I use... Support tables for HTML5, CSS3, etc

其实文档中也有提到会加where

作用域样式 • 文档 • Svelte - Svelte 框架

解决方法

为了适配低版本IOS,不要把样式写在svelte中。而是写在scss文件中。------可以理解为,把样式写在全局。(其实这样也不好)

或是,坚持不写嵌套样式,但是这样会让代码更加繁琐。不推荐。

更好的方法

可以写一个插件,移除编译后的所有where

相关推荐
码云之上2 分钟前
小程序 iOS 多输入框焦点乱序脱坑记
ios·微信小程序·taro
2501_915909068 小时前
iOS test 测试怎么做?功能、性能、兼容、稳定与安全五类测试指南
android·ios·小程序·https·uni-app·iphone·webview
随遇丿而安10 小时前
第 1 周:别小看 `UILabel`,它跟 Android TextView 不只是名字不同
ios
游戏开发爱好者82 天前
iOS 推送怎么配置,APNs 推送证书、设备库与群发
android·ios·小程序·https·uni-app·iphone·webview
Anhty2 天前
2026 实测 4 款 AI 变声器|QQ 聊天伪装声线,告别僵硬假声
人工智能·功能测试·ios·智能手机·安卓
唔662 天前
flutter web iOS 在浏览器加载中文慢的问题
前端·flutter·ios
ZacJi3 天前
我为 DeepSeek Harness 写了一个 dsh-apple-mode 插件
ios·deepseek·vibecoding
2501_915921433 天前
抓包鹰 Traceeagle 解除证书绑定,SSL Pinning 解除
网络·网络协议·网络安全·ios·adb·https·ssl
人月神话Lee3 天前
我做了个不要账号、不要定位权限的旅行 App,聊聊那些「不做」的决定
ios·ai编程·产品