什么是placeholder?

答:HTML5中的一个新属性,用于表单元素中,规定可描述输入字段预期值的简短的提示信息,也就是表单元素中的预留文本。适用于下面的 input 类型:text、search、url、tel、email 和 password,还适用于textarea元素。


placeholder有哪些兼容性问题?

答:1、placeholder在IE9及以前的浏览器中不能被支持

  2、在chrome和Firefox中,当input框获取焦点时,placeholder的文字依然在,只有在input中输入内容之后才会消失;而在IE和Safari中,当input框获取焦点时placeholder的文字就消失了

  3、默认情况下placeholder的文字是灰色的,当给input设置color时,在chrome和Safari中,placeholder的文字颜色不变;而在Firefox和IE中,placeholder文字的颜色会变成color的值

  4、当希望placeholder的文字和input的输入内容在input框中都居中的时候,简单的方法就是设置text-align:center,但是在某些浏览器中(目前我发现的就是三星手机自带的浏览器),设置之后placeholder的文字依然靠左


下面对这些问题进行说明:

  1、placeholder在IE9及以前的浏览器中不能被支持

  我自己还不会,等我会了再补上

  2、在chrome和Firefox中,当input框获取焦点时,placeholder的文字依然在,只有在input中输入内容之后才会消失;而在IE和Safari中,当input框获取焦点时placeholder的文字就消失了

  这个因为没有太大影响,所以暂不考虑,要是真的希望在所有浏览器中表现一模一样,那就用我下面的label替代法吧

  3、默认情况下placeholder的文字是灰色的,当给input设置color时,在chrome和Safari中,placeholder的文字颜色不变;而在Firefox和IE中,placeholder文字的颜色会变成color的值

  可单独为placeholder文本设置color,给input设置颜色之后就不会影响到placeholder了

1 ::-moz-placeholder{color:#999;}                 //Firefox
2 ::-webkit-input-placeholder{color:#999;}      //chrome和Safari
3 :-ms-input-placeholder{color:#999;}            //IE10

  4、当希望placeholder的文字和input的输入内容在input框中都居中的时候,简单的方法就是设置text-align:center,但是在某些浏览器中(目前我发现的就是三星手机自带的浏览器),设置之后placeholder的文字依然靠左

  这里我写了一个用label代替placeholder的demo,可以解决以上所有问题,贴出代码

1 <div id="inputPlaceholder">
2     <input type="text" value="" id="inputBox" onfocus="OnFocus()" onblur="OnBlur()"  autocomplete="off">
3     <label for="inputBox" id="labelPlaceholder">请输入号码</label>
4 </div>

 1 function OnFocus () {
 2         document.getElementById("labelPlaceholder").style.display="none";             //当input获取焦点时,label隐藏
 3     }
 4 function OnBlur () {
 5         if (document.getElementById("inputBox").value=="") {
 6             document.getElementById("labelPlaceholder").style.display="block";        //当input失去焦点时,如果input框中有内容则label隐藏,如果没有内容则label显示
 7         } else{
 8             document.getElementById("labelPlaceholder").style.display="none";
 9         };
10
11     }

 1 #inputPlaceholder{
 2         width: 100%;
 3         height: auto;
 4         position: relative;
 5     }
 6 #inputBox{
 7         width: 100%;
 8         height: 30px;
 9         line-height:30px;
10         border:1px #DBEAF9 solid;
11         border-radius:5px;
12         background-color:#fff;
13         text-align:center;
14         font-size: 14px;
15         padding: 0;
16         margin: 0;
17         color:#333;
18     }
19 #labelPlaceholder{
20         width: 100%;
21         height: 32px;
22         line-height: 32px;
23         color:#999;
24         font-size: 14px;
25         position: absolute;
26         top: 0;
27         left: 0;
28         padding: 0;
29         margin: 0;
30         text-align:center;
31     }
32 ::-moz-placeholder{color:#999;}
33 ::-webkit-input-placeholder{color:#999;}
34 :-ms-input-placeholder{color:#999;} 

  效果图就是这样

  如果有错误or不足,欢迎指正

转载于:https://www.cnblogs.com/ahutyaoyj/p/4453944.html

placeholder兼容性问题以及用label代替placeholder相关推荐

  1. 解决placeholder兼容性问题

    placeholder属性是HTML5 中为input添加的.在input上提供一个占位符,文字形式展示输入字段预期值的提示信息(hint),该字段会在输入为空时显示. 实例:1 <input ...

  2. UITextView自定义placeholder功能:用一个label写了文字,然后当检测到长度不为0的时候就把label隐藏...

    -(BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSStr ...

  3. 解决placeholder样式设置无效问题,更改placeholder默认样式颜色

    错误示范: input::-webkit-input-placeholder, input:-moz-placeholder, input::-moz-placeholder, input:-ms-i ...

  4. Softmax函数与交叉熵

    Softmax函数 背景与定义 导数 softmax的计算与数值稳定性 Loss function 对数似然函数 交叉熵 Loss function求导 TensorFlow 方法1手动实现不建议使用 ...

  5. 简单实现IE9及以下对placeholder的兼容性

    placeholder属性的出现使input输入框不再单调,而且可以对用户做一个对输入内容的提醒或者指引,起到了很好的作用.但是 但是IE9及IE9以下不支持这个属性,这就让人很恼火呀,毕竟中国还有好 ...

  6. HTML5 INPUT placeholder及兼容性处理

    HTML5对Web Form做了许多增强,比如input新增的type类型.Form Validation等.Placeholder是HTML5新增的另一个属性,当input或者textarea设置了 ...

  7. placeholder在不同浏览器下的表现及兼容方法

    2019独角兽企业重金招聘Python工程师标准>>> 1.什么是placeholder? placeholder是html5新增的一个属性,当input或者textarea设置了该 ...

  8. 知乎网解决HTML5 Placeholder的方案

    使浏览器支持Placeholder有很多方法,都不是很完美,或多或少有点问题,且有些原生支持的浏览器在获得焦点时会清空Placeholder提示.发现知乎网的解决方法不错,特记录下. windows系 ...

  9. CSS如何修改placeholder样式

    项目用经常遇到修改input的placeholder的颜色的需求,这里来看一下placeholder如何用css设置: 原文发布与我的个人博客>> 首先来看一下chrome默认的input ...

最新文章

  1. BZOJ 2197 [Usaco2011 Mar]Tree Decoration
  2. 优化group by 语句
  3. spring系列-注解驱动原理及源码-bean生命周期
  4. 转:使用curl来调试你的应用
  5. UVa 10642 - Can You Solve It?
  6. 云计算-从基础到应用架“.NET研究”构系列-云计算的演进
  7. 一旦有辞职念头就干不长了吗_年轻人辞职需不需要冷静期?辞职需要冷静,不需要企业给出冷静期...
  8. C# WinForm 判断程序是否已经在运行,且只允许运行一个实例,附源码
  9. 关于css3的calc()
  10. UVa 10673 Play with Floor and Ceil
  11. React-Native 爬坑爬坑
  12. 解决ubuntu10.04不能上网
  13. H264的RTP负载打包的数据包格式,分组,分片
  14. 欧姆龙cp1h指令讲解_欧姆龙cp1h常用指令学习(六)功能块、子程序
  15. 车流量计数、不同车型统计算法
  16. spring framework源码下载并导入eclipse
  17. 网络安全-DoS与DDoS攻击原理(TCP、UDP、CC攻击等)与防御
  18. bzoj1050: [HAOI2006]旅行comf
  19. DevCloud注册和登录
  20. 一步一步教你制作销售业绩分析报告

热门文章

  1. Delphi编码及注释规范
  2. poj1548 Robots
  3. java吵醒线程_一文搞懂 Java 线程中断
  4. 电脑 计算机服务打不开怎么办理,电脑xlsx打不开怎么办
  5. 运行jar应用程序引用其他jar包的四种方法
  6. OVS之vhost-net中VM通信(十)
  7. pacman安装php的位置,PacMan 01——地图的搭建
  8. java集合-HashSet源码解析
  9. ant design pro(一)安装、目录结构、项目加载启动【原始、以及idea开发】
  10. 论文翻译-机器翻译:Attention