HTML5里的placeholder属性使用实例和美化显示效果的方法


Posted in HTML / CSS onApril 23, 2014

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

HTML代码

复制代码
代码如下:
<input type="text" name="first_name" placeholder="你的姓名..." />

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

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

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

复制代码
代码如下:

function hasPlaceholderSupport() {
var input = document.createElement('input');
return ('placeholder' in input);
}

如果用户的浏览器不支持placeholder特征,你需要借助MooTools, Dojo, 或其它JavaScript工具来实现它:
复制代码
代码如下:

/* mootools ftw! */
var firstNameBox = $('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美化INPUT placeholder效果。下面让我来用简单的CSS代码美化文本框里的placeholder文字。

CSS代码

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

复制代码
代码如下:

/* all */
::-webkit-input-placeholder { color:#f00; }
::-moz-placeholder { color:#f00; } /* firefox 19+ */
:-ms-input-placeholder { color:#f00; } /* ie */
input:-moz-placeholder { color:#f00; }
/* individual: webkit */
#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; }
/* individual: mozilla */
#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效果。

HTML / CSS 相关文章推荐
css3实现波纹特效、H5实现动态波浪效果
Jan 31 HTML / CSS
利用Canvas模仿百度贴吧客户端loading小球的方法示例
Aug 13 HTML / CSS
HTML5 语义化结构化规范化
Oct 17 HTML / CSS
Canvas与Image互相转换示例代码
Aug 09 HTML / CSS
Web时代变迁及html5与html4的区别
Jan 06 HTML / CSS
推荐10个HTML5响应式框架
Feb 25 HTML / CSS
phonegap常用事件总结(必看篇)
Mar 31 HTML / CSS
解决html5中video标签无法播放mp4问题的办法
May 07 HTML / CSS
mui几种页面跳转方式对比总结概括
Aug 18 HTML / CSS
解决HTML5手机端页面缩放的问题
Oct 27 HTML / CSS
前端实现弹幕效果的方法总结(包含css3和canvas的实现方式)
Jul 12 HTML / CSS
html中显示特殊符号(附带特殊字符对应表)
Jun 21 HTML / CSS
HTML5的hidden属性兼容老浏览器的方法
Apr 23 #HTML / CSS
HTML5中的Scoped属性使用实例
Apr 23 #HTML / CSS
HTML5添加鼠标悬浮音响效果不使用FLASH
Apr 23 #HTML / CSS
html5菜单折纸效果
Apr 22 #HTML / CSS
html5读取本地文件示例代码
Apr 22 #HTML / CSS
使用html5制作loading图的示例
Apr 14 #HTML / CSS
html5的canvas元素使用方法介绍(画矩形、画折线、圆形)
Apr 14 #HTML / CSS
You might like
php数组函数序列之sort() 对数组的元素值进行升序排序
2011/11/02 PHP
php从csv文件读取数据并输出到网页的方法
2015/03/14 PHP
php微信开发之带参数二维码的使用
2016/08/03 PHP
PHP大神的十大优良习惯
2016/09/14 PHP
php自定义函数实现汉字转换utf8编码的方法
2016/09/29 PHP
php分页查询mysql结果的base64处理方法示例
2017/05/18 PHP
PHP实现批量重命名某个文件夹下所有文件的方法
2017/09/04 PHP
InnerHtml和InnerText的区别分析
2009/03/13 Javascript
js下判断 iframe 是否加载完成的完美方法
2010/10/26 Javascript
js中flexible.js实现淘宝弹性布局方案
2020/06/23 Javascript
举例讲解jQuery对DOM元素的向上遍历、向下遍历和水平遍历
2016/07/07 Javascript
如何在Angular.JS中接收并下载PDF
2016/11/26 Javascript
BootStrap Table 获取同行不同列元素的方法
2016/12/19 Javascript
js获取指定时间的前几秒
2017/04/05 Javascript
jQuery实现百度登录框的动态切换效果
2017/04/21 jQuery
vue自定义指令实现方法详解
2019/02/11 Javascript
react结合bootstrap实现评论功能
2020/05/30 Javascript
vue如何使用外部特殊字体的操作
2020/07/30 Javascript
antd-日历组件,前后禁止选择,只能选中间一部分的实例
2020/10/29 Javascript
vue3.0中setup使用(两种用法)
2020/12/02 Vue.js
[01:16:01]VGJ.S vs Mski Supermajor小组赛C组 BO3 第一场 6.3
2018/06/04 DOTA
[51:17]Mineski vs Secret 2019国际邀请赛淘汰赛 败者组 BO3 第一场 8.22
2019/09/05 DOTA
python获取远程图片大小和尺寸的方法
2015/03/26 Python
Python多线程编程(八):使用Event实现线程间通信
2015/04/05 Python
Django中login_required装饰器的深入介绍
2017/11/24 Python
Python同步遍历多个列表的示例
2019/02/19 Python
python设置环境变量的作用和实例
2019/07/09 Python
Python的垃圾回收机制详解
2019/08/28 Python
python模块导入的方法
2019/10/24 Python
Python代码需要缩进吗
2020/07/01 Python
深入剖析webstorage[html5的本地数据处理]
2016/07/11 HTML / CSS
Html5+JS实现手机摇一摇功能
2015/04/24 HTML / CSS
前端实现背景虚化但内容清晰且自适应 的实例代码
2019/08/01 HTML / CSS
哥伦比亚加拿大官网:Columbia Sportswear Canada
2020/09/07 全球购物
2015年纪委工作总结
2015/05/13 职场文书
Mysql效率优化定位较低sql的两种方式
2021/05/26 MySQL