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强大的动画效果animate使用说明及浏览器兼容介绍
Jan 09 HTML / CSS
CSS3中的transform属性进行2D和3D变换的基本用法
May 12 HTML / CSS
详解CSS3选择器:nth-child和:nth-of-type之间的差异
Sep 18 HTML / CSS
CSS3的颜色渐变效果的示例代码
Sep 29 HTML / CSS
html5的画布canvas——画出弧线、旋转的图形实例代码+效果图
Jun 09 HTML / CSS
HTML5新增元素如何兼容旧浏览器有哪些方法
May 09 HTML / CSS
浅析HTML5中的download属性使用
Mar 13 HTML / CSS
HTML5拖放API实现自动生成相框功能
Apr 07 HTML / CSS
HTML速写之Emmet语法规则的实现
Apr 07 HTML / CSS
web前端之css水平居中代码解析
May 20 HTML / CSS
css3带你实现3D转换效果
Feb 24 HTML / CSS
HTML页面点击按钮关闭页面的多种方式
Dec 24 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大批量数据操作时临时调整内存与执行时间的方法
2011/04/20 PHP
php设计模式 FlyWeight (享元模式)
2011/06/26 PHP
PHP性能优化工具篇Benchmark类调试执行时间
2011/12/06 PHP
php上传图片生成缩略图(GD库)
2016/01/06 PHP
jquery之Document元素选择器篇
2008/08/14 Javascript
一个页面放2段图片滚动代码出现冲突的问题如何解决
2012/12/21 Javascript
js获取 type=radio 值的方法
2014/05/09 Javascript
JavaScript中的null和undefined区别介绍
2015/01/01 Javascript
浅析JavaScript中的变量复制、参数传递和作用域链
2016/01/13 Javascript
js方法数据验证的简单实例
2016/09/17 Javascript
JavaScript数据结构之双向链表定义与使用方法示例
2017/10/27 Javascript
jQuery第一次运行页面默认触发点击事件的实例
2018/01/10 jQuery
Vue+Jwt+SpringBoot+Ldap完成登录认证的示例代码
2018/05/21 Javascript
JS实现键值对遍历json数组功能示例
2018/05/30 Javascript
angularJs中跳转到指定的锚点实例($anchorScroll)
2018/08/31 Javascript
vue 项目地址去掉 #的方法
2018/10/20 Javascript
es6数值的扩展方法
2019/03/11 Javascript
如何使用JavaScript实现栈与队列
2019/06/24 Javascript
JSX在render函数中的应用详解
2019/09/04 Javascript
VUE实时监听元素距离顶部高度的操作
2020/07/29 Javascript
Python实现类继承实例
2014/07/04 Python
PyTorch学习笔记之回归实战
2018/05/28 Python
Python读取xlsx文件的实现方法
2019/07/04 Python
python3实现在二叉树中找出和为某一值的所有路径(推荐)
2019/12/26 Python
python程序实现BTC(比特币)挖矿的完整代码
2021/01/20 Python
使用Html5实现异步上传文件,支持跨域,带有上传进度条
2016/09/17 HTML / CSS
htmlentities() 和 htmlspecialchars()有什么区别
2015/07/01 面试题
公司财务工作总结的自我评价
2013/11/23 职场文书
写字楼租赁意向书
2014/07/30 职场文书
车贷收入证明范本
2014/09/14 职场文书
2015高三毕业寄语赠言
2015/02/27 职场文书
2015暑假打工实践报告
2015/07/13 职场文书
党员理论学习心得体会
2016/01/21 职场文书
残联2016年全国助残日活动总结
2016/04/01 职场文书
python如何正确使用yield
2021/05/21 Python
windows server2016安装oracle 11g的图文教程
2022/07/15 Servers