HTML5 placeholder属性详解


Posted in HTML / CSS onJune 22, 2016

HTML5里新引入很多有趣的新特征;有些体现在HTML里,有些是JavaScript API,全部非常的有用。其中我最喜欢的一个特征就是文本框(INPUT)里的placeholder属性。placeholder属性能够让你在文本框里显示提示信息,一旦你在文本框里输入了什么信息,提示信息就会隐藏。你以前可能无数次看到这种效果,但那些大部分是用JavaScript里实现的,而现在,HTML5提供了原生支持,而且效果更好!

HTML代码

<input type="text" name="first_name" placeholder="你的姓名..." />

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

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

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

JavaScript Code复制内容到剪贴板
  1. function hasPlaceholderSupport() {   
  2.  var input = document.createElement('input');   
  3.  return ('placeholder' in input);   
  4. }   
  5.   

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

JavaScript Code复制内容到剪贴板
  1. /* mootools ftw! */  
  2. var firstNameBox = $('first_name'),   
  3.  message = firstNameBox.get('placeholder');   
  4. firstNameBox.addEvents({   
  5.  focus: function() {   
  6.   if(firstNameBox.value == message) { searchBox.value = ''; }   
  7.  },   
  8.  blur: function() {   
  9.   if(firstNameBox.value == '') { searchBox.value = message; }   
  10.  }   
  11. });   
  12.   

用CSS美化placeholder

前一篇文章里我写了如何用CSS美化鼠标选择的文字。在进一步研究时我发现了另外一个有趣的CSS功能:CSS美化INPUT placeholder效果。下面让我来用简单的CSS代码美化文本框里的placeholder文字。

CSS代码

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

CSS Code复制内容到剪贴板
  1. /* all */  
  2. ::-webkit-input-placeholder { color:#f00; }   
  3. ::-moz-placeholder { color:#f00; } /* firefox 19+ */  
  4. :-ms-input-placeholder { color:#f00; } /* ie */  
  5. input:-moz-placeholder { color:#f00; }   
  6.   
  7. /* individual: webkit */  
  8. #field2::-webkit-input-placeholder { color:#00f; }   
  9. #field3::-webkit-input-placeholder { color:#090background:lightgreen; text-transform:uppercase; }   
  10. #field4::-webkit-input-placeholder { font-style:italictext-decoration:overlineletter-spacing:3pxcolor:#999; }   
  11.   
  12. /* individual: mozilla */  
  13. #field2::-moz-placeholder { color:#00f; }   
  14. #field3::-moz-placeholder { color:#090background:lightgreen; text-transform:uppercase; }   
  15. #field4::-moz-placeholder { font-style:italictext-decoration:overlineletter-spacing:3pxcolor:#999; }   
  16.   

你可以控制placeholder文字的字体、颜色和风格。你甚至可以将文本框的placeholder以动画方式显示。 美化你的文本框都是些看起来很小的事情,但对于一些交互式的网站来说,成功的关键就在于细节。现在IE10里也只支持placeholder了,相信越来越多的人会使用这种原生的placeholder效果。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。
HTML / CSS 相关文章推荐
CSS实现圆形放大镜狙击镜效果 只有圆圈里的放大
Dec 10 HTML / CSS
简单介绍CSS3中Media Query的使用
Jul 07 HTML / CSS
纯CSS3代码实现文字描边
Apr 25 HTML / CSS
10分钟理解CSS3 FlexBox弹性布局
Dec 20 HTML / CSS
HTML5打开本地app应用的方法
Mar 31 HTML / CSS
HTML5引入的新数组TypedArray介绍
Dec 24 HTML / CSS
HTML5 的新的表单元素(datalist/keygen/output)使用介绍
Jul 19 HTML / CSS
详解基于canvas的视频遮罩插件
Jan 04 HTML / CSS
HTML5新增form控件和表单属性实例代码详解
May 15 HTML / CSS
canvas 绘图时位置偏离的问题解决
Sep 16 HTML / CSS
position:sticky 粘性定位的几种巧妙应用详解
Apr 24 HTML / CSS
使用CSS实现黑白格背景效果
Jun 01 HTML / CSS
HTML5 本地存储 LocalStorage详解
Jun 24 #HTML / CSS
HTML5中的nav标签学习笔记
Jun 24 #HTML / CSS
HTML5 canvas基本绘图之绘制线段
Jun 27 #HTML / CSS
浅谈HTML5新增及移除的元素
Jun 27 #HTML / CSS
HTML5 canvas基本绘图之绘制矩形
Jun 27 #HTML / CSS
HTML5 canvas基本绘图之绘制阴影效果
Jun 27 #HTML / CSS
涂鸦板简单实现 Html5编写属于自己的画画板
Jul 05 #HTML / CSS
You might like
全国FM电台频率大全 - 8 黑龙江省
2020/03/11 无线电
使用PHP获取汉字的拼音(全部与首字母)
2013/06/27 PHP
thinkphp中memcache的用法实例
2014/11/29 PHP
zen cart实现订单中增加paypal中预留电话的方法
2016/07/12 PHP
浅谈PHP无限极分类原理
2019/03/14 PHP
php测试kafka项目示例
2020/02/06 PHP
Javascript 变量作用域 两个可能会被忽略的小特性
2010/03/23 Javascript
推荐40款强大的 jQuery 导航插件和教程(上篇)
2012/09/14 Javascript
js判断元素是否隐藏的方法
2014/06/09 Javascript
jQuery实现单击和鼠标感应事件
2015/02/01 Javascript
JS实现动态给图片添加边框的方法
2015/04/01 Javascript
jQuery取消ajax请求的方法
2015/06/09 Javascript
JS获取数组最大值、最小值及长度的方法
2015/11/24 Javascript
利用select实现年月日三级联动的日期选择效果【推荐】
2016/12/13 Javascript
ajax +NodeJS 实现图片上传实例
2017/06/06 NodeJs
JS实现发送短信验证后按钮倒计时功能(防止刷新倒计时失效)
2017/07/07 Javascript
用vuex写了一个购物车H5页面的示例代码
2018/12/04 Javascript
解决Layui当中的导航条动态添加后渲染失败的问题
2019/09/25 Javascript
JavaScript实现单图片上传并预览功能
2019/09/30 Javascript
JS 图片压缩原理与实现方法详解
2020/04/29 Javascript
基于vue中的scoped坑点解说
2020/09/04 Javascript
TensorFlow实现Batch Normalization
2018/03/08 Python
用Python写脚本,实现完全备份和增量备份的示例
2018/04/29 Python
python中的tcp示例详解
2018/12/09 Python
python实现网页自动签到功能
2019/01/21 Python
pyecharts在数据可视化中的应用详解
2020/06/08 Python
HTML5 File API改善网页上传功能
2009/08/19 HTML / CSS
英国在线花园中心:You Garden
2018/06/03 全球购物
化工专业推荐信范文
2013/11/28 职场文书
工程专业毕业生自荐信范文
2013/12/25 职场文书
新年主持词
2014/03/27 职场文书
幼儿园新年寄语
2014/04/03 职场文书
建筑公司员工自我鉴定
2014/04/08 职场文书
倡议书格式
2014/04/14 职场文书
2015年秋季灭鼠工作总结
2015/07/27 职场文书
2016年感恩父亲节活动总结
2016/04/01 职场文书