最近写项目要求兼容到ie8,写完了去ie测试的时候,发现了placeholder在ie下的兼容问题,为了解决,搜罗网上各种牛人的解决方案,自己总结如下:

css样式(设置各浏览器下placeholder的样式问题):

//谷歌浏览器

input::-webkit-input-placeholder{
 font-family: "Microsoft Yahei", 微软雅黑, sans-serif,"Helvetica Neue", Helvetica, Arial, "Hiragino Sans GB",  STHeiti, 华文细黑,"PingFang SC";
 font-size:14px;
 color:#ccc;
}

//火狐4-18使用伪类
input::-moz-placeholder{
 font-family: "Microsoft Yahei", 微软雅黑, sans-serif,"Helvetica Neue", Helvetica, Arial, "Hiragino Sans GB",  STHeiti, 华文细黑,"PingFang SC";
 font-size:14px;
 color:#ccc;
}

//火狐19+使用伪元素
input:-moz-placeholder{
 font-family: "Microsoft Yahei", 微软雅黑, sans-serif,"Helvetica Neue", Helvetica, Arial, "Hiragino Sans GB",  STHeiti, 华文细黑,"PingFang SC";
 font-size:14px;
 color:#ccc;
}

//IE10使用伪类 
input::-ms-input-placeholder{
 font-family: "Microsoft Yahei", 微软雅黑, sans-serif,"Helvetica Neue", Helvetica, Arial, "Hiragino Sans GB",  STHeiti, 华文细黑,"PingFang SC";
 font-size:14px;
 color:#ccc;
}

js代码(判断是否支持placeholder)

if( !('placeholder' in document.createElement('input')) ){     
       $('input[placeholder],textarea[placeholder]').each(function(){  
         var that = $(this),  
         text= that.attr('placeholder');  
         if(that.val()===""){  
           that.val(text).addClass('placeholder');  
         }  
         that.focus(function(){  
           if(that.val()===text){  
             that.val("").removeClass('placeholder');  
           }  
         })  
         .blur(function(){  
           if(that.val()===""){  
             that.val(text).addClass('placeholder');  
           }  
         })  
         .closest('form').submit(function(){  
           if(that.val() === text){  
             that.val('');  
           }  
         });  
       });  
     }

在input输入数字后,会出现黄色的背景,解决代码如下:

nput:-webkit-autofill,
textarea:-webkit-autofill,
select:-webkit-autofill {
       -webkit-box-shadow: 0 0 0 1000px white inset;
}
 input[type=text]:focus, input[type=password]:focus, textarea:focus {
      -webkit-box-shadow: 0 0 0 1000px white inset;
}

placeholder在IE下的兼容问题的更多相关文章

  1. input的placeholder在ie9下不兼容的结局办法。

      /*      IE9placeholder支持      */     if(!placeholderSupport()){   // 判断浏览器是否支持 placeholder         ...

  2. input 的 placeholder属性在IE8下的兼容处理

    placeholder是input标签的新属性,在使用的时候有两个问题: 1.IE8 下不兼容 处理思路: 如果浏览器不识别placeholder属性,给input添加类名placeholder,模仿 ...

  3. html5的placeholder属性(IE如何兼容placeholder属性)

    界面UI推荐 jquery html5 实现placeholder兼容password  IE6 html5的placeholder属性(IE如何兼容placeholder属性) 2013-01-05 ...

  4. 解决360、猎豹浏览器等极速模式下css3兼容问题

    有时候你会发现你写的animation动画的css3效果,在IE.谷歌.火狐等主流的新版本的浏览器的是没有什么兼容问题的,即便你不写前缀,也是可以显示动画效果的.然后,你本地在360浏览器或猎豹浏览器 ...

  5. 0c-42-ARC模式下如何兼容非ARC的类

    1.ARC模式下如何兼容非ARC的类 让程序兼容ARC和非ARC部分.转变为非ARC -fno-objc-arc 2.将MRC转换为ARC ARC也需要考虑循环引用问题:一端用strong,一端用we ...

  6. input 光标在 chrome下不兼容 解决方案

    input 光标在 chrome下不兼容 解决方案 height: 52px; line-height: normal; line-height:52px\9 .list li input[type= ...

  7. [转]FireFox与IE 下js兼容触发click事件的代码

    本文转自:http://www.jb51.net/article/16549.htm FireFox与IE 下js兼容触发click事件 ,对于需要兼容这两者的朋友,就需要参考下下面的代码了<a ...

  8. 1.ARC模式下如何兼容非ARC的类

    ARC模式下如何兼容非ARC的类 :转变为ARC的, -f-objc-arc 非ARC模式下如何兼容ARC的类 :转变为非ARC -fno-objc-arc

  9. ie下不支持placeholder 用jquery来完成兼容

    这是我的第一个博客,还是写点正经的,希望对做前端朋友有所帮助.最近在做的项目placeholder不兼容ie,这个可以兼容IE的输入框的HTML新增的placeholder的显示下面是代码:$( do ...

随机推荐

  1. HTMLCSS学习

    子选择器:第一代 .food>li{border:1px solid red;} 后代选择器:所有后代         .first  span{color:red;} 通用选择器:       ...

  2. python --- request返回值乱码问题

    1.分析 a)<HTTP权威指南>里第16章国际化里提到,如果HTTP响应中Content-Type字段没有指定charset,则默认页面是'ISO-8859-1'编码.一般现在页面编码都 ...

  3. P 1021 个位数统计

    转跳点:

  4. 在mac电脑的terminal里该如何运行c语言

    若要在 Mac 的终端中编译并运行 C 源代码,你首先需要安装 Command Line Tools,里面包含有 GCC 编译器.安装方法为: 打开终端,输入 gcc. 如果你没有安装 Command ...

  5. java登录以及连接数据库的温习

    学完一部分android相关知识点后,为了下周的java测试,我还是反回来重新的学习了上学期的知识点java,在今天打开eclipse之后,对于自己之前自己所写过的东西还有连接数据库的内容,已经有所忘 ...

  6. (5)opencv的基础操作和矩阵的掩模操作

    不懂的,可以简单,看看这个网址:https://blog.csdn.net/xiongwen_li/article/details/78503491 图片放到了桌面,所以,图片的路径就是桌面了,剩余的 ...

  7. 201771010123汪慧和《面向对象程序设计Java》第十二周实验总结

    一.理论部分 1.在Java提供的GUI构建工具中可以分为组件和容器两类. 2.在Java中的组件有:按钮.标签.复选框.单选按钮.选择框.列表框.文本框.滚动条.画布.菜单. 3.在Java中的容器 ...

  8. Sequence Models Week 1 Character level language model - Dinosaurus land

    Character level language model - Dinosaurus land Welcome to Dinosaurus Island! 65 million years ago, ...

  9. 洛谷 AT2827 LIS

    题目传送门 解题思路: 用f[i]表示长度为i的最长上升子序列的最小的末尾. AC代码: #include<iostream> #include<cstdio> #includ ...

  10. 远程过程调用——RPC

    https://www.jianshu.com/p/5b90a4e70783 清晰明了