【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

相关推荐
笑尘pyrotechnic3 小时前
LLDB进阶:使用命令行进行检查
ios·objective-c·cocoa·lldb
z***y8626 小时前
Swift在iOS中的Xcode
ios·xcode·swift
AirDroid_cn6 小时前
iOS 18 后台应用偷跑流量,如何限制?
macos·ios·cocoa
明君879978 小时前
Flutter 图纸标注功能的实现:踩坑与架构设计
android·ios
江东小bug王9 小时前
深入理解 UINavigationController:生命周期、动画优化与性能调优
ios
Lexiaoyao2010 小时前
Apple StoreKit 2 开发指南
ios·apple
2501_915106321 天前
iOS App 测试工具全景分析,构建从开发调试到线上监控的多阶段工具链体系
android·测试工具·ios·小程序·uni-app·iphone·webview
Digitally1 天前
如何通过蓝牙将联系人从 iPhone 传输到 Android
android·ios·iphone
90后的晨仔1 天前
2025年11月27日年解决隐私清单导致审核总是提示二进制无效的问题
ios
songgeb1 天前
iOS Audio后台模式下能否执行非Audio逻辑
ios·swift