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 :nth-child()伪类选择器实现奇偶行显示不同样式
Nov 05 HTML / CSS
css实例教程 一款纯css3实现的超炫动画背画特效
Nov 05 HTML / CSS
一款基于css3的列表toggle特效实例教程
Jan 04 HTML / CSS
浅谈CSS3中display属性的Flex布局的方法
Aug 14 HTML / CSS
HTML5 拖拽批量上传文件的示例代码
Mar 28 HTML / CSS
HTML5边玩边学(2)基础绘图实现方法
Sep 21 HTML / CSS
HTML5 Web Database 数据库的SQL语句的使用方法
Dec 09 HTML / CSS
HTML5之WebGL 3D概述(上)—WebGL原生开发开启网页3D渲染新时代
Jan 31 HTML / CSS
HTML5实现自带进度条和滑块滑杆效果
Apr 17 HTML / CSS
详解如何解决H5开发使用wx.hideMenuItems无效果不生效
Jan 20 HTML / CSS
CSS3 制作的书本翻页特效
Apr 13 HTML / CSS
教你做个可爱的css滑动导航条
Jun 15 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
PHP4和PHP5性能测试和对比 测试代码与环境
2007/08/17 PHP
use jscript with List Proxy Server Information
2007/06/11 Javascript
js读写cookie实现一个底部广告浮层效果的两种方法
2013/12/29 Javascript
Jquery实现textarea根据文本内容自适应高度
2015/04/03 Javascript
jQuery使用模式窗口实现在主页面和子页面中互相传值的方法
2016/03/01 Javascript
JavaScript 消息框效果【实现代码】
2016/04/27 Javascript
一个用jquery写的判断div滚动条到底部的方法【推荐】
2016/04/29 Javascript
JS获取复选框的值,并传递到后台的实现方法
2016/05/30 Javascript
JSONP基础知识详解
2017/03/19 Javascript
Vue.js手风琴菜单组件开发实例
2017/05/16 Javascript
ES6中的rest参数与扩展运算符详解
2017/07/18 Javascript
小程序实现人脸识别功能(百度ai)
2018/12/23 Javascript
Vue2.0使用嵌套路由实现页面内容切换/公用一级菜单控制页面内容切换(推荐)
2019/05/08 Javascript
JQuery特殊效果和链式调用操作示例
2019/05/13 jQuery
vue.js this.$router.push获取不到params参数问题
2020/03/03 Javascript
查找Vue中下标的操作(some和findindex)
2020/08/12 Javascript
VSCode插件安装完成后的配置(常用配置)
2020/08/24 Javascript
vue 路由meta 设置导航隐藏与显示功能的示例代码
2020/09/04 Javascript
VueCli生产环境打包部署跨域失败的解决
2020/11/13 Javascript
[43:58]DOTA2上海特级锦标赛C组败者赛 Newbee VS Archon第二局
2016/02/27 DOTA
[07:20]2018DOTA2国际邀请赛寻真——逐梦Mineski
2018/08/10 DOTA
django中的setting最佳配置小结
2017/11/21 Python
pandas 取出表中一列数据所有的值并转换为array类型的方法
2018/04/11 Python
python3使用SMTP发送简单文本邮件
2018/06/19 Python
解决python 未发现数据源名称并且未指定默认驱动程序的问题
2018/12/07 Python
Django Rest framework之权限的实现示例
2018/12/17 Python
Python3简单实现串口通信的方法
2019/06/12 Python
python 基于UDP协议套接字通信的实现
2021/01/22 Python
关于 HTML5 的七个传说小结
2012/04/12 HTML / CSS
芬兰灯具网上商店:Nettilamppu.fi
2018/06/30 全球购物
大型活动策划方案
2014/01/12 职场文书
发展部经理职责规定
2014/02/22 职场文书
工程造价专业大学生职业规划范文
2014/03/09 职场文书
大学开学感言
2015/08/01 职场文书
2016十一国庆节感言
2015/12/09 职场文书
mysq启动失败问题及场景分析
2021/07/15 MySQL