html5中文学习网

您的位置: 首页 > html5教程 > 入门教程 » 正文

HTML5里的placeholder属性使用实例和美化显示效果的方法_html5教程技巧

[ ] 已经帮助:人解决问题
点评:HTML5里新引入很多有趣的新特征;有些体现在HTML里,有些是JavaScript API,全部非常的有用。其中我最喜欢的一个特征就是文本框(INPUT)里的placeholder属性

placeholder属性能够让你在文本框里显示提示信息,一旦你在文本框里输入了什么信息,提示信息就会隐藏。你以前可能无数次看到这种效果,但那些大部分是用JavaScript里实现的,而现在,HTML5提供了原生支持,而且效果更好!r8hHTML5中文学习网 - HTML5先行者学习网

HTML代码r8hHTML5中文学习网 - HTML5先行者学习网

复制代码
代码如下:
<input type="text" name="first_name" placeholder="你的姓名..." />
r8hHTML5中文学习网 - HTML5先行者学习网
你也看见了,需要做的只是在文本框的声明标签上加入placeholder属性。完全不需要JavaScript来创造这种效果。r8hHTML5中文学习网 - HTML5先行者学习网

检查浏览器是否支持Placeholder属性r8hHTML5中文学习网 - HTML5先行者学习网

因为placeholder是一种新属性,很有必要检查一下你的浏览器是否支持它,比如IE6、IE8肯定是不支持的:r8hHTML5中文学习网 - HTML5先行者学习网

复制代码
代码如下:
r8hHTML5中文学习网 - HTML5先行者学习网
function hasPlaceholderSupport() {r8hHTML5中文学习网 - HTML5先行者学习网
var input = document.createElement('input');r8hHTML5中文学习网 - HTML5先行者学习网
return ('placeholder' in input);r8hHTML5中文学习网 - HTML5先行者学习网
}
r8hHTML5中文学习网 - HTML5先行者学习网
如果用户的浏览器不支持placeholder特征,你需要借助MooTools, Dojo, 或其它JavaScript工具来实现它:r8hHTML5中文学习网 - HTML5先行者学习网

复制代码
代码如下:
r8hHTML5中文学习网 - HTML5先行者学习网
/* mootools ftw! */r8hHTML5中文学习网 - HTML5先行者学习网
var firstNameBox = $('first_name'),r8hHTML5中文学习网 - HTML5先行者学习网
message = firstNameBox.get('placeholder');r8hHTML5中文学习网 - HTML5先行者学习网
firstNameBox.addEvents({r8hHTML5中文学习网 - HTML5先行者学习网
focus: function() {r8hHTML5中文学习网 - HTML5先行者学习网
if(firstNameBox.value == message) { searchBox.value = ''; }r8hHTML5中文学习网 - HTML5先行者学习网
},r8hHTML5中文学习网 - HTML5先行者学习网
blur: function() {r8hHTML5中文学习网 - HTML5先行者学习网
if(firstNameBox.value == '') { searchBox.value = message; }r8hHTML5中文学习网 - HTML5先行者学习网
}r8hHTML5中文学习网 - HTML5先行者学习网
});
r8hHTML5中文学习网 - HTML5先行者学习网

用CSS美化placeholderr8hHTML5中文学习网 - HTML5先行者学习网

在进一步研究时我发现了另外一个有趣的CSS功能:CSS美化INPUT placeholder效果。下面让我来用简单的CSS代码美化文本框里的placeholder文字。r8hHTML5中文学习网 - HTML5先行者学习网

CSS代码r8hHTML5中文学习网 - HTML5先行者学习网

火狐浏览器里的用法和谷歌浏览器里不太一样。它们的名称都很好理解:r8hHTML5中文学习网 - HTML5先行者学习网

复制代码
代码如下:
r8hHTML5中文学习网 - HTML5先行者学习网
/* all */r8hHTML5中文学习网 - HTML5先行者学习网
::-webkit-input-placeholder { color:#f00; }r8hHTML5中文学习网 - HTML5先行者学习网
::-moz-placeholder { color:#f00; } /* firefox 19+ */r8hHTML5中文学习网 - HTML5先行者学习网
:-ms-input-placeholder { color:#f00; } /* ie */r8hHTML5中文学习网 - HTML5先行者学习网
input:-moz-placeholder { color:#f00; }r8hHTML5中文学习网 - HTML5先行者学习网
/* individual: webkit */r8hHTML5中文学习网 - HTML5先行者学习网
#field2::-webkit-input-placeholder { color:#00f; }r8hHTML5中文学习网 - HTML5先行者学习网
#field3::-webkit-input-placeholder { color:#090; background:lightgreen; text-transform:uppercase; }r8hHTML5中文学习网 - HTML5先行者学习网
#field4::-webkit-input-placeholder { font-style:italic; text-decoration:overline; letter-spacing:3px; color:#999; }r8hHTML5中文学习网 - HTML5先行者学习网
/* individual: mozilla */r8hHTML5中文学习网 - HTML5先行者学习网
#field2::-moz-placeholder { color:#00f; }r8hHTML5中文学习网 - HTML5先行者学习网
#field3::-moz-placeholder { color:#090; background:lightgreen; text-transform:uppercase; }r8hHTML5中文学习网 - HTML5先行者学习网
#field4::-moz-placeholder { font-style:italic; text-decoration:overline; letter-spacing:3px; color:#999; }
r8hHTML5中文学习网 - HTML5先行者学习网

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

r8hHTML5中文学习网 - HTML5先行者学习网
(责任编辑:)
推荐书籍
推荐资讯
关于HTML5先行者 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 人才招聘 - 帮助