html - 用户输入时光标大小与文本大小不匹配
问题描述
我在所有输入元素上设置了字体大小,并且行高为 1.25。出于某种原因,在移动网络上(目前正在尝试使用 Android Chrome)闪烁的光标比文本本身短得多,并导致当用户主动输入时文本在中间被剪切。在用户退出输入后(不会被截断),实际文本本身最终会很好。如何确保光标与文本的实际大小匹配?我附上一张图片供参考。
在桌面网络浏览器(Windows、Mac + Chrome、Safari、Firefox)上完全没问题,我没有遇到这个问题,尽管显然在 Firefox Linux 上会出现同样的问题。
到目前为止的代码:
.input-class {
background-color: #eeeeee;
border-color: transparent;
border-radius: 10px;
box-sizing: border-box;
padding-left: 0.5rem;
line-height: 1.25 !important;
vertical-align: middle;
width: 100%;
}
.input-class::placeholder {
overflow: visible;
}
.input-class:focus {
outline: none;
}
input {
box-sizing: content-box;
font-size: 1rem;
padding: 0.5rem;
}
<input type="text" class="input-class">
任何意见表示赞赏!
解决方案
我在使用 Chrome 进行远程调试后发现了这个问题 - 如果您在移动设备上也面临一些类似的问题,强烈建议您在将来这样做。我使用的自定义字体不能很好地与 Chrome 上的输入和文本区域配合使用。我切换到更常见的字体,问题就消失了。
推荐阅读
- google-cloud-platform - 使用gcloud sdk调用云功能时如何传递消息的属性?
- vim - 在 OsX mojave 中安装 CommandT 。我收到错误 Vim Command-T 插件错误:无法加载 C 扩展
- java - 可以在Tomcat上部署springboot,但是运行时显示404
- algorithm - Heuristic 将如何影响 Dikstras 算法使其成为 A* 算法
- sitecore - 如何解决 Sitecore 计划任务在添加后 10 分钟内被跳过的问题?
- python - 如何在 Pandas 中通过 Id 将数据框的列值替换为另一个数据框值
- ruby-on-rails - 在数据表中将布尔数据字段从小写“true”转换为大写“TRUE”
- vagrant - Vagrant 2.2.3 错误:等待机器启动时超时
- excel - 宏程序不连续运行...只运行一次
- aws-lambda - 在 aws lambda 中运行 AIRFLOW