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动画和opacity透明度实现呼吸灯效果
Aug 09 HTML / CSS
详解CSS3中@media的实际使用
Aug 04 HTML / CSS
使用CSS3美化HTML表单的技巧演示
May 17 HTML / CSS
利用css3画个同心圆示例代码
Jul 03 HTML / CSS
利用 CSS3 实现的无缝轮播功能代码
Sep 25 HTML / CSS
css3实现多个元素依次显示效果
Dec 12 HTML / CSS
CSS3 filter(滤镜)实现网页灰色或者黑色模式的示例代码
Feb 24 HTML / CSS
HTML5 Canvas API中drawImage()方法的使用实例
Mar 25 HTML / CSS
HTML5: Web 标准最巨大的飞跃
Oct 17 HTML / CSS
详解Canvas实用库Fabric.js使用手册
Jan 07 HTML / CSS
HTML5调用手机发短信和打电话功能
Apr 29 HTML / CSS
CSS3常见动画的实现方式
Apr 14 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
PHP学习散记_编码(json_encode 中文不显示)
2011/11/10 PHP
php中fgetcsv()函数用法实例
2014/11/28 PHP
php开发中的页面跳转方法总结
2015/04/26 PHP
php file_get_contents取文件中数组元素的方法
2017/04/01 PHP
搜索附近的人PHP实现代码
2018/02/11 PHP
PHP getDocNamespaces()函数讲解
2019/02/03 PHP
Javascript-Mozilla和IE中的一个函数直接量的问题
2007/01/09 Javascript
JQuery 将元素显示在屏幕的中央的代码
2010/02/27 Javascript
jquery ui 1.7 ui.tabs 动态添加与关闭(按钮关闭+双击关闭)
2010/04/01 Javascript
jQuery事件 delegate()使用方法介绍
2012/10/30 Javascript
jquery左右滚动焦点图banner图片鼠标经过显示上下页按钮
2013/10/11 Javascript
JQuery实现文字无缝滚动效果示例代码(Marquee插件)
2017/03/07 Javascript
JavaScript html5 canvas实现图片上画超链接
2017/10/20 Javascript
jQuery pjax 应用简单示例
2018/09/20 jQuery
Vue-input框checkbox强制刷新问题
2019/04/18 Javascript
vue实现列表拖拽排序的功能
2020/11/02 Javascript
[02:34]DOTA2英雄基础教程 幽鬼
2014/01/02 DOTA
详解Python中的装饰器、闭包和functools的教程
2015/04/02 Python
Python中实现参数类型检查的简单方法
2015/04/21 Python
20个常用Python运维库和模块
2018/02/12 Python
TensorFlow入门使用 tf.train.Saver()保存模型
2018/04/24 Python
基于Python List的赋值方法
2018/06/23 Python
Python使用numpy产生正态分布随机数的向量或矩阵操作示例
2018/08/22 Python
Python: tkinter窗口屏幕居中,设置窗口最大,最小尺寸实例
2020/03/04 Python
django xadmin 管理器常用显示设置方式
2020/03/11 Python
Win 10下Anaconda虚拟环境的教程
2020/05/18 Python
基于Keras的格式化输出Loss实现方式
2020/06/17 Python
matplotlib图例legend语法及设置的方法
2020/07/28 Python
Agoda台湾官网:国内外订房2折起
2018/03/20 全球购物
武汉高蓝德国际.net机试
2016/06/24 面试题
EJB3.1都有哪些改进
2012/11/17 面试题
初任培训自我鉴定
2013/10/07 职场文书
船舶工程技术专业求职信
2014/08/07 职场文书
没有孩子的离婚协议书怎么写
2014/09/17 职场文书
2015中学教学工作总结
2015/07/22 职场文书
礼貌问候语大全
2015/11/10 职场文书