zoukankan      html  css  js  c++  java
  • 关于input背景图(ie67滚动以及chrome光标)

    因为input输入框字数限定超过了背景图的宽度,背景图在ie67下会跟着移动,尝试了以下的解决办法:

    1.background-attachment:fixed

      但是ie7不管用,继续下一个方案

    2.字数限定

      对input做字数限定是最好的办法

    3.背景图模拟

      这个方法也不错,但是要根据情况,稍微调整一下以适应改动,比如我的项目中input后面有提示文字 加了背景图模拟层 需要做浮动margin等来调整

    *“背景图模拟”引出的问题

    <label for="username">账号</label><span class="input_bg"><input type="text" id="username" class="username"/></span>

      用一个背景图模拟,设置height和line-height一样的高度,使里面的输入文字能够居中,在FF下出现的情况是:点击input时,输入光标其实上跟input的height一样高,但当开始输入文字时,光标又变得跟文字一样高,chrome下光标跟input的height一样高,而IE下光标跟文字的大小一致。

    初步结论如下:

    IE:不管该行有没有文字,光标高度与font-size一致。

    FF:该行有文字时,光标高度与font-size一致。该行无文字时,光标高度与input的height一致。

    Chrome:该行无文字时,光标高度与line-height一致;该行有文字时,光标高度从input顶部到文字底部(这两种情况都是在有设定line-height的时候),如果没有line-height,则是与font-size一致。

    解决的方案:

    给input的height设定一个较小的高度,然后用padding去填充,基本上可以解决所有浏览器的问题

    input{
    font-size: 12px;
    height: 16px;
    line-height:1;
    padding: 4px 10px;
    padding: 0px\9 10px\9;/*for ie*/
    height: 20px\9;/*for ie*/
    line-height:20px\9;/*for ie*/
    }


     

  • 相关阅读:
    c语言几个字符串处理函数的简单实现
    各种类型排序的实现及比较
    随机洗牌算法Knuth Shuffle和错排公式
    两个栈实现队列
    面试杂题
    面试题——栈的压入、弹出顺序
    Codeforces 455A. Boredom
    PAT A1049. Counting Ones (30)
    Codeforces 895B. XK Segments
    Codeforces 282C. XOR and OR
  • 原文地址:https://www.cnblogs.com/cuoreqzt/p/2749441.html
Copyright © 2011-2022 走看看