<font size="3"><font face="微软雅黑"> HTML5里新引入很多有趣的新特征;有些体现在HTML里,有些是JavaScript API,全部非常的有用。其中我最喜欢的一个特征就是文本框(INPUT)里的placeholder属性。placeholder属性能够让你在文本框里显示提示信息,一旦你在文本框里输入了什么信息,提示信息就会隐藏。你以前可能无数次看到这种效果,但那些大部分是用JavaScript里实现的,而现在,HTML5提供了原生支持,而且效果更好!</font><br></font><p style="text-align: center;"><a href="data/attachment/portal/201503/26/141419qb3s59a00p953eib.jpg" target="_blank"><font size="3"><img src="data/attachment/portal/201503/26/141419qb3s59a00p953eib.jpg" alt="HTML5里的placeholder属性" ></font></a></p> <font size="3"><font face="微软雅黑"><div style="text-align: center;"><a href="http://www.webhek.com/demo/html5-placeholder/" target="_blank" style="line-height: 1.8em;">观看演示</a></div></font> <font face="微软雅黑"><br> </font><br> <font face="微软雅黑"><b>HTML代码</b></font><br><br> </font><div class="blockcode"> <div id="code_WFl"><ol><li><font size="3"><input type="text" name="first_name" placeholder="你的姓名..."></font></li></ol></div> <em onclick="copycode($('code_WFl'));"><font size="3">复制代码</font></em> </div> <font size="3"><br> <font face="微软雅黑">你也看见了,需要做的只是在文本框的声明标签上加入placeholder属性。完全不需要JavaScript来创造这种效果。</font><font face="微软雅黑"><br> </font><br> <strong><font face="微软雅黑">检查浏览器是否支持Placeholder属性</font></strong><br><br> <font face="微软雅黑">因为placeholder是一种新属性,很有必要检查一下你的浏览器是否支持它,比如IE6、IE8肯定是不支持的:</font><br><br> </font><div class="blockcode"> <div id="code_I52"><ol> <li><font size="3">function hasPlaceholderSupport() {<br> </font></li> <li><font size="3"> var input = document.createElement('input');<br> </font></li> <li><font size="3"> return ('placeholder' in input);<br> </font></li> <li><font size="3">}</font></li> </ol></div> <em onclick="copycode($('code_I52'));"><font size="3">复制代码</font></em> </div> <font size="3"><br> <font face="微软雅黑">如果用户的浏览器不支持placeholder特征,你需要借助MooTools, Dojo, 或其它JavaScript工具来实现它:</font><br><br> </font><div class="blockcode"> <div id="code_gdQ"><ol> <li><font size="3">/* mootools ftw! */<br> </font></li> <li><font size="3">var firstNameBox = $('first_name'),<br> </font></li> <li><font size="3"> message = firstNameBox.get('placeholder');<br> </font></li> <li><font size="3">firstNameBox.addEvents({<br> </font></li> <li><font size="3"> focus: function() {<br> </font></li> <li><font size="3"> if(firstNameBox.value == message) { searchBox.value = ''; }<br> </font></li> <li><font size="3"> },<br> </font></li> <li><font size="3"> blur: function() {<br> </font></li> <li><font size="3"> if(firstNameBox.value == '') { searchBox.value = message; }<br> </font></li> <li><font size="3"> }<br> </font></li> <li><font size="3">});</font></li> </ol></div> <em onclick="copycode($('code_gdQ'));"><font size="3">复制代码</font></em> </div> <font size="3"><br> <strong><font face="微软雅黑">用CSS美化placeholder</font></strong><br><br> <font face="微软雅黑">前一篇文章里我写了<a href="http://www.webhek.com/css-selection/" target="_blank"><font color="#0000ff">如何用CSS美化鼠标选择的文字</font></a>。在进一步研究时我发现了另外一个有趣的CSS功能:CSS美化INPUT placeholder效果。下面让我来用简单的CSS代码美化文本框里的placeholder文字。</font><br><br> <a href="http://www.webhek.com/demo/html5-placeholder/" target="_blank"><font face="微软雅黑"><font color="#0000ff">观看演示</font></font></a><br><br> <strong><font face="微软雅黑">CSS代码</font></strong><br><br> <font face="微软雅黑">火狐浏览器里的用法和谷歌浏览器里不太一样。它们的名称都很好理解:</font><br><br> </font><div class="blockcode"> <div id="code_DnT"><ol> <li><font size="3">/* all */<br> </font></li> <li><font size="3">::-webkit-input-placeholder { color:#f00; }<br> </font></li> <li><font size="3">::-moz-placeholder { color:#f00; } /* firefox 19+ */<br> </font></li> <li><font size="3">:-ms-input-placeholder { color:#f00; } /* ie */<br> </font></li> <li><font size="3">input:-moz-placeholder { color:#f00; }<br> </font></li> <li><font size="3"><br> </font></li> <li><font size="3">/* individual: webkit */<br> </font></li> <li><font size="3">#field2::-webkit-input-placeholder { color:#00f; }<br> </font></li> <li><font size="3">#field3::-webkit-input-placeholder { color:#090; background:lightgreen; text-transform:uppercase; }<br> </font></li> <li><font size="3">#field4::-webkit-input-placeholder { font-style:italic; text-decoration:overline; letter-spacing:3px; color:#999; }<br> </font></li> <li><font size="3"><br> </font></li> <li><font size="3">/* individual: mozilla */<br> </font></li> <li><font size="3">#field2::-moz-placeholder { color:#00f; }<br> </font></li> <li><font size="3">#field3::-moz-placeholder { color:#090; background:lightgreen; text-transform:uppercase; }<br> </font></li> <li><font size="3">#field4::-moz-placeholder { font-style:italic; text-decoration:overline; letter-spacing:3px; color:#999; }</font></li> </ol></div> <em onclick="copycode($('code_DnT'));"><font size="3">复制代码</font></em> </div> <font size="3"><br> <font face="微软雅黑">你可以控制placeholder文字的字体、颜色和风格。你甚至可以将文本框的placeholder以动画方式显示。 美化你的文本框都是些看起来很小的事情,但对于一些交互式的网站来说,成功的关键就在于细节。现在IE10里也只支持placeholder了,相信越来越多的人会使用这种原生的placeholder效果。</font><br><br> <font face="微软雅黑">via:<a href="http://www.webhek.com/html5-placeholder?rel=http://geek.csdn.net" target="_blank">http://www.webhek.com/html5-placeholder?rel=http://geek.csdn.net</a></font></font><br>