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 三维变形实现立体方块特效源码
Dec 15 HTML / CSS
CSS3动画之利用requestAnimationFrame触发重新播放功能
Sep 11 HTML / CSS
CSS3 特效范例整理
Aug 22 HTML / CSS
一款利用纯css3实现的超炫3D表单的实例教程
Dec 01 HTML / CSS
CSS Grid布局教程之网格单元格布局
Dec 30 HTML / CSS
CSS3实现图片抽屉式效果的示例代码
Nov 06 HTML / CSS
Html5剪切板功能的实现代码
Jun 29 HTML / CSS
HTML5 的新的表单元素(datalist/keygen/output)使用介绍
Jul 19 HTML / CSS
HTML5 Canvas的常用线条属性值总结
Mar 17 HTML / CSS
详解px单位html5响应式方案
Mar 08 HTML / CSS
HTML5页面音频自动播放的实现方式
Jun 21 HTML / CSS
详解CSS中的特指度和层叠问题
Jul 15 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获取url的函数代码
2011/08/02 PHP
php线性表顺序存储实现代码(增删查改)
2012/02/16 PHP
php实现字符串反转输出的方法
2015/03/14 PHP
Yii支持多域名cors原理的实现
2018/12/05 PHP
asp.net和asp下ACCESS的参数化查询
2008/06/11 Javascript
JavaScript实现的简单拖拽效果
2015/06/01 Javascript
JavaScript中定义类的方式详解
2016/01/07 Javascript
JavaScript函数节流概念与用法实例详解
2016/06/20 Javascript
Node+Express+MongoDB实现登录注册功能实例
2017/04/23 Javascript
详解Webpack+Babel+React开发环境的搭建的方法步骤
2018/01/09 Javascript
微信小程序如何获取用户手机号
2018/01/26 Javascript
JS加密插件CryptoJS实现的DES加密示例
2018/08/16 Javascript
swiper.js插件实现pc端文本上下滑动功能示例
2018/12/03 Javascript
express + jwt + postMan验证实现持久化登录
2019/06/05 Javascript
Layui带搜索的下拉框的使用以及动态数据绑定方法
2019/09/28 Javascript
node.js中process进程的概念和child_process子进程模块的使用方法示例
2020/02/11 Javascript
JS实现百度搜索框关键字推荐
2020/02/17 Javascript
js实现简单放大镜效果
2020/03/07 Javascript
vue3.0 上手体验
2020/09/21 Javascript
[00:53]2015国际邀请赛 中国区预选赛一触即发
2015/05/14 DOTA
[01:00:14]2018DOTA2亚洲邀请赛 4.6 淘汰赛 VP vs TNC 第三场
2018/04/10 DOTA
python使用7z解压软件备份文件脚本分享
2014/02/21 Python
mac安装pytorch及系统的numpy更新方法
2018/07/26 Python
python中copy()与deepcopy()的区别小结
2018/08/03 Python
mac PyCharm添加Python解释器及添加package路径的方法
2018/10/29 Python
python如何获取当前文件夹下所有文件名详解
2019/01/25 Python
Python正则表达式和re库知识点总结
2019/02/11 Python
创建Django项目图文实例详解
2019/06/06 Python
有趣的睡衣和礼物:LazyOne
2019/11/27 全球购物
Internet主要有哪些网络群组成
2015/12/24 面试题
《歌唱二小放牛郎》教学反思
2014/04/19 职场文书
2014学习十八届四中全会精神思想汇报范文
2014/10/23 职场文书
工作态度不好检讨书
2015/05/06 职场文书
新闻稿件写作技巧
2015/07/18 职场文书
MySQL基础(二)
2021/04/05 MySQL
nodejs利用readline提示输入内容实例代码
2021/07/15 NodeJs