css解决input里面光标位置靠上问题

最近再做一个项目,发现input输入框内的光标有点怪异:不输入文字的时候,光标不处在input框的上下居中位置,而是偏上,当输入文字以后就变为正常了,开始我以为是浏览器的原因,但后来到各个浏览器查看一番,发现还真有点不同,于是百度了一下,找到了相关的文档读了读,才发现其中奥秘。

在Chrome浏览器中,当设置了line-height时,input无文字,光标高度与line-height一致;input有文字,光标高度从input顶部到文字底部。当没有设置line-height时,则是与font-size一致。

想让光标居中的解决方案是:让input的高度等于里面文字的高度,然后用padding把框撑起来,这样光标的高度和位置就固定了。

如:

input{
    height: 14px;
    padding: 4px 0px;
    font-size: 14px;
}

其实就是使用了padding来解决了,具体多少大家可以修改4px这个参数了调整了。

时间: 2024-11-02 18:56:52

css解决input里面光标位置靠上问题的相关文章

获取div编辑框,textarea,input text的光标位置 兼容IE,FF和Chrome的方法介绍_javascript技巧

网上苦找2小时,全是不能兼容FF的,看来这种东西网上是搞不到现成的了,只能自己动手丰衣足食 现在发布出来,今后网上就有现成的供人使用了. 为了省事,少量位置用了jquery 改原生JS也很方便,谁需要就请自己修改了. 欢迎各位路过高人拍板,欢迎各位留言提供改进代码. 又改进 兼容了Chrome 下面的代码已修改成最新版 上源码了 复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" &q

JavaScript 获取/设置光标位置,兼容Input&amp;amp;&amp;amp;TextArea_javascript技巧

JavaScript 获取/设置光标位置,兼容Input&&TextArea: 单行文本框 输入位置: 多行文本框 Hi,CssRain!!! 输入位置:

解释一段在光标位置插入字符的js代码

js|插入|光标 这篇小文本来应该在昨天发的,但是由于我昨天敲错了一个键(就是IBM笔记本键盘上的前进后退),导致文章丢失...今天就简写了.网络上有许多能在光标位置插入字符的js代码,比较啰嗦,不适合讲解.我写了一段简单的代码,解释一下: 1234567 <FORM> <TEXTAREA NAME="a" ONSELECT="this.pos=document.selection.createRange();"  onKEYUP="th

能用HTML/CSS解决的问题就不要使用JS

为什么说能使用html/css解决的问题就不要使用JS呢?两个字,因为简单.简单就意味着更快的开发速度,更小的维护成本,同时往往具有更好的体验,下面介绍几个实例. 1. 导航高亮 导航高亮是一种很常见的问题,包括当前页面的导航在菜单里面高亮和hover时高亮.你可以用js控制,但是用一点CSS技巧就可以达到这个目的,不需要使用JS. 在正常态时,每个导航的默认样式为: nav li{      opacity: 0.5;  }  当前页面的导航透明度为1. 为了实现这个目的: 首先通过body给

javascript取得textarea光标位置开始与结束位置

 代码如下 复制代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns=http://www.111cn.net> <head> <title>javascript获取textarea光标位置和内容的方法

用javascript获取textarea中的光标位置_javascript技巧

对于写javascript写网页编辑器的人来说,获取textarea中的光标位置是一个非常重要的问题,而往往很多人在这个地方不知所措,找不到好的办法.昨天我在网上找到了一段javascript代码,本来不想把原版放在这里的,就是因为太精彩了,怕我给改坏了,所以还是原版放在这里吧. var start=0;     var end=0;     function add(){                var textBox = document.getElementById("ta"

TextArea中定位光标位置

原文:TextArea中定位光标位置     在项目中,遇到一个场景:希望能在TextArea中输入某条记录中的明细(明细较简单,没有附属信息,只用记录顺序和值即可,譬如用"+"号来作为明细分隔符:1+1.5+2+3.4),如下图所示:     为了让输入更直观,需要在输入过程中,实时地显示汇总数量和合计:如果用户希望编辑文本中间的某条明细,也可以通过鼠标点击.或者键盘上的上下左右键来定位某个明细,并在页面上提示光标的焦点位置.       最开始,通过windows.event.x.

【转】css解决兼容的问题

css解决兼容的问题   2007-08-16 21:06    阅读    评论 字号: css解决兼容的问题1:float的闭合在float元素间增加一个标记<div class=clear></div>这个样式定义为:.clear{ clear:both;}2:最好的div居中方法.someStyle{ width:xpx; margin:xpx auto;} 3:strong标签重写的好处对于特定的内容,如果要进行强调,又需要设置自己的样式,可以不必另行定义div,而用st

javascript控制在光标位置插入文字适合表情的插入_javascript技巧

直接上代码吧,用js控制在光标位置插入. 在实现表情的插入时用到了. 复制代码 代码如下: <span style="font-size:18px;"><html> <head> <script type='text/javascript'> function test(str){ var tc = document.getElementById("mytextarea"); var tclen = tc.value.