【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

相关推荐
叽哥10 小时前
flutter学习第 18 节:设备功能调用
android·flutter·ios
Swift社区17 小时前
Swift 实战:从数据流到不重叠区间的高效转换
开发语言·ios·swift
xixixin_2 天前
【H5】禁止IOS、安卓端长按的一些默认操作
android·css·ios·h5
叽哥2 天前
flutter学习第 17 节:项目实战:综合应用开发(下)
android·flutter·ios
Andy_GF2 天前
纯血鸿蒙 HarmonyOS Next 调试证书过期解决流程
前端·ios·harmonyos
叽哥2 天前
flutter学习第 16 节:项目实战:综合应用开发(上)
android·flutter·ios
2501_915909062 天前
iOS 签名证书全生命周期实战,从开发到上架的多阶段应用
android·ios·小程序·https·uni-app·iphone·webview
_oP_i2 天前
ios添加ic卡如何操作?
ios
m0_641031052 天前
什么是iOS超级签名?为何它能解决企业签名的“掉签”难题?
ios
没事学AI2 天前
移动端调用大模型详解
ios·大模型·安卓