css - 如何解决显示文本完全合理的 Safari 问题?

标签 css safari cross-browser angular5 mobile-safari

我在 MacOS/iOS 操作系统的 Safari 浏览器上出现文本显示问题。在选择/取消选择文本之前,文本显示不正确。

与浏览器进行任何交互之前的文本: enter image description here

在选择过程中: enter image description here

选择“更正”文本后: enter image description here

其他浏览器和操作系统在页面加载时正确显示。

使用 BrowserStack,我测试了几个版本的 Safari。直到我测试了 Safari 6.2,它才正确显示。

我不确定原因是什么或解决方案是什么。

该网页是 Angular 5 SPA。

Link to Animated GIF

.newline-to-br {
    white-space: pre-line;
}
<p _ngcontent-c27="" class="newline-to-br">Kids under 10 free. 
If fishing during hunting season, we would recommend wearing blaze orange for safety purposes. </p>

最佳答案

在 Safari 中,文本 block 的末尾不能有空格。实际上添加了空格,但选择可以越过最后一个空白,这就是它换行和对齐的原因。单击或突出显示文本会触发重新绘制,重新解释空间并正确对齐。要修复它,请删除 </p> 之前的最后一个空格.

<p _ngcontent-c27="" class="newline-to-br">Kids under 10 free. 
If fishing during hunting season, we would recommend wearing blaze orange for safety purposes.</p>

关于css - 如何解决显示文本完全合理的 Safari 问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56277904/

相关文章:

jquery - 删除滚动条时如何保持html内容位置?

javascript - 如何在页面加载期间打开 css 弹出窗口,然后在页面加载完成时关闭它

javascript - 确定需要哪些 JavaScript/CSS 浏览器功能

javascript - 如何使用 j Query 将值附加到 html div id

html - 过渡适用于 Chrome 和 Firefox,不适用于 Safari

CSS3 动画 SVG 对象的多个属性在 Safari 中不起作用

html - Safari 不渲染 css 渐变文本

javascript - 将选择转换为输入而不是跨浏览器

ios - 选择元素导致在 iOS 设备上滚动到页面顶部

javascript - webkitTransition ,这对使用 Jquery 的 CSS-3 意味着什么?