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实现图片无间断轮播效果
Aug 25 HTML / CSS
css背景图片的背景裁切、背景透明度、背景变换等效果运用
Dec 24 HTML / CSS
CSS实现限制字数功能当对象内文本溢出时显示省略标记
Aug 20 HTML / CSS
详解CSS3中使用gradient实现渐变效果的方法
Aug 18 HTML / CSS
HTML5 Web Database 数据库的SQL语句的使用方法
Dec 09 HTML / CSS
利用纯html5绘制出来的一款非常漂亮的时钟
Jan 04 HTML / CSS
HTML5到底会有什么发展?HTML5的前景展望
Jul 07 HTML / CSS
使用HTML5 Canvas API控制字体的显示与渲染的方法
Mar 24 HTML / CSS
HTML5移动端开发中的Viewport标签及相关CSS用法解析
Apr 15 HTML / CSS
关于canvas绘制模糊问题的解决方法
Sep 24 HTML / CSS
iframe与window.onload如何使用详解
May 07 HTML / CSS
html2 canvas svg不能识别的解决方案
Jun 03 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
了解Joomla 这款来自国外的php网站管理系统
2010/03/11 PHP
php中用于检测一个地理IP地址是否可用的代码
2012/02/19 PHP
编写Smarty插件在模板中直接加载数据的详细介绍
2013/06/26 PHP
php array_values 返回数组的所有值详解及实例
2016/11/12 PHP
PHP多进程编程实例详解
2017/07/19 PHP
详解PHP版本兼容之openssl调用参数
2018/07/25 PHP
PHP的PDO预处理语句与存储过程
2019/01/27 PHP
php字符串过滤strip_tags()函数用法实例分析
2019/06/24 PHP
jQuery asp.net 用json格式返回自定义对象
2010/04/07 Javascript
JQueryEasyUI datagrid框架的基本使用
2013/04/08 Javascript
JavaScript中反正弦函数Math.asin()的使用简介
2015/06/14 Javascript
JS实现给json数组动态赋值的方法示例
2020/03/19 Javascript
AngularJS使用ui-route实现多层嵌套路由的示例
2018/01/10 Javascript
微信小程序实现图片上传功能实例(前端+PHP后端)
2018/01/10 Javascript
Vue.js中 v-model 指令的修饰符详解
2018/12/03 Javascript
详解在HTTPS 项目中使用百度地图 API
2019/04/26 Javascript
vue项目中mock.js的使用及基本用法
2019/05/22 Javascript
使用JavaScrip模拟实现仿京东搜索框功能
2019/10/16 Javascript
ElementUI多个子组件表单的校验管理实现
2019/11/07 Javascript
JS如何实现网站中PC端和手机端自动识别并跳转对应的代码
2020/01/08 Javascript
[48:21]林俊杰圣堂刺客超神杀戮秀
2014/10/29 DOTA
python正则表达式re模块详解
2014/06/25 Python
python中文编码问题小结
2014/09/28 Python
用Python编写一个简单的俄罗斯方块游戏的教程
2015/04/03 Python
python中常用的九种预处理方法分享
2016/09/11 Python
Python 实现淘宝秒杀的示例代码
2018/01/02 Python
Tornado高并发处理方法实例代码
2018/01/15 Python
Python使用requests发送POST请求实例代码
2018/01/25 Python
Python实现使用dir获取类的方法列表
2019/12/24 Python
基于Tensorflow批量数据的输入实现方式
2020/02/05 Python
Pycharm安装第三方库失败解决方案
2020/11/17 Python
解决pytorch下出现multi-target not supported at的一种可能原因
2021/02/06 Python
2014年学习委员工作总结
2014/11/14 职场文书
员工2014年度工作总结
2014/12/09 职场文书
教师创先争优承诺书
2015/04/27 职场文书
幼儿园开学家长寄语(2016秋季)
2015/12/03 职场文书