部分ios系统出现页面显示不完整(dom节点已经加载完整) - 工作笔记

问题描述

页面中所有dom元素已经加载完成,基本上所有的安卓手机在该页面上,dom节点所对应的页面部分是可以显示出来的。(安卓用户暂时没发现问题)
但是部分ios手机出现页面显示不完整的情况。(这里以ios9系统为例)

说一下这个页面的组成部分,大致分三个结构
顶部logo图、中间二维码、底部详情。

正常显示的页面

在这里插入图片描述
非正常显示的页面
在这里插入图片描述

后面发现这些在ios9下不能显示的部分所对应的dom元素都有一个共同的特点:
就是css样式都加了position:relative;后面把这个注释掉就可以正常显示了。(有些是position:absolute的也会显示不出来,把两个都注释了)

我一开始根本没想到这个样式会导致这个问题
一开始定位的问题是控制显示这些dom元素的变量上,后面发现dom结构都有。

总之,问题是解决了,但是具体原理我还是不太懂,猜测跟层级有关,遮盖住了该dom。在工作之余记录下这个问题,最后望有懂的C友赐教。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
如果在 iOS 设备上出现行数限定无作用的问题,可能是由于 `-webkit-line-clamp` 属性在某些 iOS 版本上不被支持所致。为了解决这个问题,可以尝试使用其他方法来实现多行文本省略。 一种备选方案是使用 JavaScript 来计算文本内容的高度,并根据高度来动态判断是否需要省略号。以下是一个示例的解决方案: ```html <div class="ellipsis" id="textContainer"> <!-- 文本内容 --> </div> <script> window.addEventListener('load', function() { var textContainer = document.getElementById('textContainer'); var lineHeight = parseInt(window.getComputedStyle(textContainer).getPropertyValue('line-height')); var maxHeight = lineHeight * 3; // 设置最大高度为三行 if (textContainer.scrollHeight > maxHeight) { while (textContainer.scrollHeight > maxHeight) { textContainer.textContent = textContainer.textContent.replace(/\W*\s(\S)*$/, '...'); } } }); </script> <style> .ellipsis { display: block; overflow: hidden; word-wrap: break-word; } </style> ``` 在上述代码中,我们使用 JavaScript 获取文本容器的行高,并根据行高计算最大高度。然后,通过逐步移除文本内容的末尾字符,直到文本容器的高度不超过最大高度为止。 请注意,在使用此方法时,需要确保文本容器具有固定的宽度或者可以根据需要进行适当的调整。 希望这个解决方案能够帮助您解决在 iOS 上的多行文本省略问题。如果仍然遇到困难,请提供更多的代码和相关环境信息,以便更好地帮助您解决问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值