HTML5 placeholder属性详解

时间:2021-05-08

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复制内容到剪贴板
  • functionhasPlaceholderSupport(){
  • varinput=document.createElement('input');
  • return('placeholder'ininput);
  • }
  • 如果用户的浏览器不支持placeholder特征,你需要借助MooTools, Dojo, 或其它JavaScript工具来实现它:

    JavaScript Code复制内容到剪贴板
  • varfirstNameBox=$('first_name'),
  • message=firstNameBox.get('placeholder');
  • firstNameBox.addEvents({
  • focus:function(){
  • if(firstNameBox.value==message){searchBox.value='';}
  • },
  • blur:function(){
  • if(firstNameBox.value==''){searchBox.value=message;}
  • }
  • });
  • 用CSS美化placeholder

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

    CSS代码

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

    CSS Code复制内容到剪贴板
  • ::-webkit-input-placeholder{color:#f00;}
  • ::-moz-placeholder{color:#f00;}
  • :-ms-input-placeholder{color:#f00;}
  • input:-moz-placeholder{color:#f00;}
  • #field2::-webkit-input-placeholder{color:#00f;}
  • #field3::-webkit-input-placeholder{color:#090;background:lightgreen;text-transform:uppercase;}
  • #field4::-webkit-input-placeholder{font-style:italic;text-decoration:overline;letter-spacing:3px;color:#999;}
  • #field2::-moz-placeholder{color:#00f;}
  • #field3::-moz-placeholder{color:#090;background:lightgreen;text-transform:uppercase;}
  • #field4::-moz-placeholder{font-style:italic;text-decoration:overline;letter-spacing:3px;color:#999;}
  • 你可以控制placeholder文字的字体、颜色和风格。你甚至可以将文本框的placeholder以动画方式显示。 美化你的文本框都是些看起来很小的事情,但对于一些交互式的网站来说,成功的关键就在于细节。现在IE10里也只支持placeholder了,相信越来越多的人会使用这种原生的placeholder效果。

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

    声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

    相关文章