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 相关文章推荐
五款漂亮的纯CSS3动画按钮的实例教程
Nov 21 HTML / CSS
CSS+jQuery实现的在线答题功能
Apr 25 HTML / CSS
纯CSS3打造属于自己的“小黄人”
Mar 14 HTML / CSS
css3 盒模型以及box-sizing属性全面了解
Sep 20 HTML / CSS
CSS3毛玻璃效果(blur)有白边问题的解决方法
Nov 15 HTML / CSS
CSS3 Flex 弹性布局实例代码详解
Nov 01 HTML / CSS
CSS Houdini实现动态波浪纹效果
Jul 30 HTML / CSS
HTML5对手机页面长按会粘贴复制禁用的解决方法
Jul 19 HTML / CSS
HTML5 本地存储 LocalStorage详解
Jun 24 HTML / CSS
使用HTML5原生对话框元素并轻松创建模态框组件
Mar 06 HTML / CSS
用HTML5制作视频拼图的教程
May 13 HTML / CSS
CSS 制作波浪效果的思路
May 18 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
模拟OICQ的实现思路和核心程序(一)
2006/10/09 PHP
PHP新手上路(九)
2006/10/09 PHP
PHP下几种删除目录的方法总结
2007/08/19 PHP
php多任务程序实例解析
2014/07/19 PHP
ThinkPHP实现二级循环读取的方法
2014/11/03 PHP
PHP is_array() 检测变量是否是数组的实现方法
2016/06/13 PHP
Laravel5.5 视图 - 创建视图和数据传递示例
2019/10/21 PHP
Ctrl+Enter提交内容信息
2006/06/26 Javascript
javascript 当前日期加(天、周、月、年)
2009/08/09 Javascript
利用jquery写的左右轮播图特效
2014/02/12 Javascript
jquery实现邮箱自动补全功能示例分享
2014/02/17 Javascript
JavaScript实现模仿桌面窗口的方法
2015/07/18 Javascript
实现非常简单的js双向数据绑定
2015/11/06 Javascript
JavaScript将base64图片转换成formData并通过AJAX提交的实现方法
2016/10/24 Javascript
node实现的爬虫功能示例
2018/05/04 Javascript
JavaScript继承定义与用法实践分析
2018/05/28 Javascript
jQuery中each和js中forEach的区别分析
2019/02/27 jQuery
JavaScript实现的九种排序算法
2019/03/04 Javascript
JavaScript Blob对象原理及用法详解
2020/10/14 Javascript
Vue.js桌面端自定义滚动条组件之美化滚动条VScroll
2020/12/01 Vue.js
[02:08:58]2014 DOTA2国际邀请赛中国区预选赛 Ne VS CIS
2014/05/22 DOTA
Python 装饰器实现DRY(不重复代码)原则
2018/03/05 Python
pandas数据框,统计某列数据对应的个数方法
2018/04/11 Python
Django中Middleware中的函数详解
2019/07/18 Python
python 三元运算符使用解析
2019/09/16 Python
python二元表达式用法
2019/12/04 Python
Python开发之基于模板匹配的信用卡数字识别功能
2020/01/13 Python
HTML5图片预览实例分享
2014/06/04 HTML / CSS
Maisons du Monde德国:法国家具和装饰的市场领导者
2019/07/26 全球购物
计算机通信工程专业毕业生推荐信
2013/12/24 职场文书
宣传工作经验材料
2014/06/02 职场文书
大学生简历求职信
2014/06/24 职场文书
投标人法定代表人授权委托书格式
2014/09/28 职场文书
银行优秀员工推荐信
2015/03/24 职场文书
侵犯商业秘密的律师函
2015/05/27 职场文书
各国货币符号大全
2022/02/17 杂记