CSS中flex对部分IOS版本兼容性问题

众所周知,ios系统老是和我们前端过不去,搞一堆不兼容问题,比如flex布局!

大部分情况下可以通过一下兼容方法来写


div {
  display: -webkit-flex;
  display: flex;
  -webkit-flex: 1;
  flex: 1;
  -webkit-flex-direction: row;
  flex-direction: row;
}

注意:在小程序页面中父元素使用 display:flex 时,子元素使用 position:absolute 后。在苹果6s/6P/6sP的系统下会出现兼容问题,子元素 position:absolute 不生效页面出现布局混乱。所以当子元素要用 position:absolute ,尽量避免父元素使用 display: flex 布局。否则会出现兼容问题(开发工具测不出问题,只会在真机6s/6P/6sP才能测出问题)

若是以上问题还是没有解决,我们接着看。

查看是否是webpack等自动化构建工具打包的时候导致部分css丢失。可以通过查看打包后的文件查看css内容是否丢失。如果发现是webpack打包导致css部分内容丢失,可以试试下面的解决方法,可以通过以下方法解决

检查 build 目录下 utils.js 的 cssloader 是否有 minimize: true 选项
 

const cssLoader = {
  loader: 'css-loader',
  options: {
    sourceMap: options.sourceMap,
    minimize: true
  }
}

检查 webpack.prod.conf.js 是否有 OptimizeCSSPlugin 插件,然后注释掉

// new OptimizeCSSPlugin({
//   cssProcessorOptions: $sourceMap
//   ? { safe: true, map: { inline: false } }
//   : { safe: true }
// })

然后在根目录下寻找 .postcssrc.js 文件,把里面的内容更换为

module.exports = {
  "plugins": {
    // to edit target browsers: use "browserslist" field in package.json
    "postcss-import": {},
    "autoprefixer": {
      browsers: [
        "last 10 versions",
        "ie >= 6",
        "ie_mob >= 6",
        "ff >= 10",
        "chrome >= 14",
        "safari >= 3",
        "ios >= 4",
        "android >= 4.0"
      ]
    }
  }
}

若有其他情况,望告知!

  • 8
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
iOS 将iframe嵌入网页的兼容性问题主要涉及以下两个方面: 1. iOS 的 Safari 浏览器对于iframe嵌入的内容的加载和显示可能存在一些限制。首先,由于安全性考虑,iOS的Safari浏览器在加载iframe的网页时会采取一些措施,比如禁止执行动态脚本、阻止下载非安全资源等,这可能导致一些功能无法正常使用或显示异常。其次,iOS Safari 对于iframe的内容的尺寸自适应支持可能有限,如果父页面和嵌入的页面在尺寸上存在不匹配,可能会导致显示效果不理想。 2. iOS设备上的触摸操作也可能影响到iframe的使用体验。由于iOS设备主要采用触控屏幕,与桌面设备的鼠标操作存在一些差异,因此在iframe的交互元素(比如按钮、链接等)可能需要专门适配和处理触摸事件,以实现良好的用户体验。 为了解决iOS iframe兼容性问题,可以考虑以下几点: 1. 确保iframe嵌入的内容是符合iOS Safari浏览器要求的,避免使用动态脚本、非安全资源等。 2. 在设计父页面和嵌入页面时,尽量保持尺寸的一致性,以避免显示问题。可以通过CSS样式或JavaScript来调整和适配尺寸。 3. 针对iOS设备的触摸操作特性,对iframe的交互元素进行专门的适配和处理,确保用户可以正常操作和使用。 综上所述,iOS Safari浏览器iframe的兼容性问题主要包括内容加载和显示限制以及触摸操作的适配。通过遵循浏览器的规范并针对iOS设备进行适配,可以解决这些问题,提升用户体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值