欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

HTML5 placeholder属性详解

程序员文章站 2023-12-02 23:10:40
这篇文章主要为大家详细介绍了HTML5 placeholder属性,placeholder属性能够让你在文本框里显示提示信息,感兴趣的小伙伴们可以参考一下... 16-06-22...

html5里新引入很多有趣的新特征;有些体现在html里,有些是javascript api,全部非常的有用。其中我最喜欢的一个特征就是文本框(input)里的placeholder属性。placeholder属性能够让你在文本框里显示提示信息,一旦你在文本框里输入了什么信息,提示信息就会隐藏。你以前可能无数次看到这种效果,但那些大部分是用javascript里实现的,而现在,html5提供了原生支持,而且效果更好!

html代码

<input type="text" name="first_name" placeholder="你的姓名..." />

你也看见了,需要做的只是在文本框的声明标签上加入placeholder属性。完全不需要javascript来创造这种效果。

检查浏览器是否支持placeholder属性

因为placeholder是一种新属性,很有必要检查一下你的浏览器是否支持它,比如ie6、ie8肯定是不支持的:

javascript code复制内容到剪贴板
  1. function hasplaceholdersupport() {   
  2.  var input = document.createelement('input');   
  3.  return ('placeholder' in input);   
  4. }   
  5.   

如果用户的浏览器不支持placeholder特征,你需要借助mootools, dojo, 或其它javascript工具来实现它:

javascript code复制内容到剪贴板
  1. /* mootools ftw! */  
  2. var firstnamebox = $('first_name'),   
  3.  message = firstnamebox.get('placeholder');   
  4. firstnamebox.addevents({   
  5.  focus: function() {   
  6.   if(firstnamebox.value == message) { searchbox.value = ''; }   
  7.  },   
  8.  blur: function() {   
  9.   if(firstnamebox.value == '') { searchbox.value = message; }   
  10.  }   
  11. });   
  12.   

用css美化placeholder

前一篇文章里我写了如何用css美化鼠标选择的文字。在进一步研究时我发现了另外一个有趣的css功能:css美化input placeholder效果。下面让我来用简单的css代码美化文本框里的placeholder文字。

css代码

火狐浏览器里的用法和谷歌浏览器里不太一样。它们的名称都很好理解:

css code复制内容到剪贴板
  1. /* all */  
  2. ::-webkit-input-placeholder { color:#f00; }   
  3. ::-moz-placeholder { color:#f00; } /* firefox 19+ */  
  4. :-ms-input-placeholder { color:#f00; } /* ie */  
  5. input:-moz-placeholder { color:#f00; }   
  6.   
  7. /* individual: webkit */  
  8. #field2::-webkit-input-placeholder { color:#00f; }   
  9. #field3::-webkit-input-placeholder { color:#090background:lightgreen; text-transform:uppercase; }   
  10. #field4::-webkit-input-placeholder { font-style:italictext-decoration:overlineletter-spacing:3pxcolor:#999; }   
  11.   
  12. /* individual: mozilla */  
  13. #field2::-moz-placeholder { color:#00f; }   
  14. #field3::-moz-placeholder { color:#090background:lightgreen; text-transform:uppercase; }   
  15. #field4::-moz-placeholder { font-style:italictext-decoration:overlineletter-spacing:3pxcolor:#999; }   
  16.   

你可以控制placeholder文字的字体、颜色和风格。你甚至可以将文本框的placeholder以动画方式显示。 美化你的文本框都是些看起来很小的事情,但对于一些交互式的网站来说,成功的关键就在于细节。现在ie10里也只支持placeholder了,相信越来越多的人会使用这种原生的placeholder效果。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。