html - 子光标宽度垂直条在 Safari 输入/文本区域中始终可见

标签 html css safari cross-browser input-field

在 Safari 9.0.3 和 Mac OS X El Capitan 中,在我的一个页面上,所有 input 和 textarea 元素在聚焦时都表现出这种行为:左侧始终可见一个垂直条元素的宽度,宽度小于输入光标。

当元素获得焦点时,光标会闪烁,即,它会亮灭。所以我为两者截取了 2 个屏幕截图:

当光标打开时: enter image description here

当光标关闭时: enter image description here

正如您在第二张图片中看到的那样,在光标关闭的地方,那里仍然有一个垂直条,当元素获得焦点时它永远不会消失。

我试图通过在浏览器中一条一条地切换规则来找出导致问题的 CSS 规则。原来是字体大小。但问题是:只有当字体大小设置为特定值(在我的例子中为 14px)时才会发生此问题。将字体大小设置为其他值会导致栏消失。

这不会发生在任何其他主流浏览器中。

有没有人看过这个?这是 Safari 的错误吗?

最佳答案

我在 Safari 10.1.2 中遇到了类似的问题。当我单击输入字段,然后单击其他地方使该字段为空且失焦时,该栏仍然存在。您设置字体大小的解决方案不起作用,但在我的例子中,text-align: center;规则应用于输入元素是原因。在我将其切换为 text-align: left; 后一切正常。

关于html - 子光标宽度垂直条在 Safari 输入/文本区域中始终可见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35402559/

相关文章:

jquery - 为什么 Safari 中会有后 jQuery 的 flash?

html - 文本与图像宽度对齐

css - 使用按钮创建侧边栏

css - div(并排)的内联对齐,中间有一点空间

wpf - HTML 5 + CSS 中的 XAML 是什么

javascript - 为什么 'focus-within' 在 Safari 中不起作用

css - 高度 : -webkit-calc(100% - 155px); not working in Safari

javascript - 随机顶部/左侧定位

html - Bootstrap 4.0.0 右对齐导航栏下拉菜单在打开时超出视口(viewport)

html - 可以在圆形区域的那个位置创建很多 `div` 吗?