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图片边框border-image的用法
Jun 30 HTML / CSS
CSS3——齿轮转动关键代码
May 02 HTML / CSS
HTML5 本地存储 LocalStorage详解
Jun 24 HTML / CSS
HTML5的文档结构和新增标签完全解析
Apr 21 HTML / CSS
利用html5 canvas动态画饼状图的示例代码
Apr 02 HTML / CSS
分享一个页面平滑滚动小技巧(推荐)
Oct 23 HTML / CSS
HTML5 本地存储和内容按需加载的思路和方法
Apr 07 HTML / CSS
html5中canvas学习笔记2-判断浏览器是否支持canvas
Jan 06 HTML / CSS
分享全球十款超强HTML5开发工具
May 14 HTML / CSS
html5使用canvas绘制一张图片
Dec 15 HTML / CSS
基于HTML5代码实现折叠菜单附源码下载
Nov 27 HTML / CSS
html5视频自动横过来自适应页面且点击播放功能的实现
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
php 团购折扣计算公式
2011/11/24 PHP
php安装扩展mysqli的实现步骤及报错解决办法
2017/09/23 PHP
php获取ajax的headers方法与内容实例
2017/12/27 PHP
php实现websocket实时消息推送
2018/03/30 PHP
ThinkPHP5.0框架使用build 自动生成模块操作示例
2019/04/11 PHP
Jquery插件写法笔记整理
2012/09/06 Javascript
你必须知道的Javascript知识点之&quot;单线程事件驱动&quot;的使用
2013/04/23 Javascript
jquery创建表格(自动增加表格)代码分享
2013/12/25 Javascript
ECMAScript6的新特性箭头函数(Arrow Function)详细介绍
2014/06/07 Javascript
详解JavaScript正则表达式中的global属性的使用
2015/06/16 Javascript
Bootstrap前端开发案例一
2016/06/17 Javascript
基于Bootstrap实现下拉菜单项和表单导航条(两个菜单项,一个下拉菜单和登录表单导航条)
2016/07/22 Javascript
Bootstrap中的fileinput 多图片上传及编辑功能
2016/09/05 Javascript
微信小程序 教程之WXML
2016/10/18 Javascript
vue.js初学入门教程(2)
2016/11/07 Javascript
React路由管理之React Router总结
2018/05/10 Javascript
jquery 动态遍历select 赋值的实例
2018/09/12 jQuery
浅析vue-router原理
2018/10/19 Javascript
VUE : vue-cli中去掉路由中的井号#操作
2020/09/04 Javascript
el-table表头根据内容自适应完美解决表头错位和固定列错位
2021/01/07 Javascript
对Python3中的print函数以及与python2的对比分析
2018/05/02 Python
和孩子一起学习python之变量命名规则
2018/05/27 Python
使用Django启动命令行及执行脚本的方法
2018/05/29 Python
python 控制Asterisk AMI接口外呼电话的例子
2019/08/08 Python
Python FFT合成波形的实例
2019/12/04 Python
python+flask编写一个简单的登录接口
2020/11/13 Python
奥地利网上现代灯具和灯饰店:Lampenwelt.at
2018/01/29 全球购物
COSETTE官网:奢华,每天
2020/03/22 全球购物
新郎父亲婚宴答谢词
2014/01/11 职场文书
联谊活动策划书
2014/01/26 职场文书
主管竞聘书范文
2014/03/31 职场文书
2014年文学毕业生自我鉴定
2014/04/23 职场文书
java调用Restful接口的三种方法
2021/08/23 Java/Android
Mysql Innodb存储引擎之索引与算法
2022/02/15 MySQL
OpenCV实现常见的四种图像几何变换
2022/04/01 Python
Python查找算法的实现 (线性、二分,分块、插值查找算法)
2022/04/24 Python