好程序員分享placeholder屬性詳解

  好程序員分享placeholder屬性詳解,HTML5裏新引入不少有趣的新特徵;有些體如今HTML裏,有些是JavaScript API,所有很是的有用。其中我最喜歡的一個特徵就是文本框(INPUT)裏的placeholder屬性。placeholder屬性可以讓你在文本框裏顯示提示信息,一旦你在文本框裏輸入了什麼信息,提示信息就會隱藏。你之前可能無數次看到這種效果,但那些大部分是用JavaScript裏實現的,而如今,HTML5提供了原生支持,並且效果更好!程序員

HTML代碼web

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

你也看見了,須要作的只是在文本框的聲明標籤上加入placeholder屬性。徹底不須要JavaScript來創造這種效果。工具

檢查瀏覽器是否支持Placeholder屬性性能

由於placeholder是一種新屬性,頗有必要檢查一下你的瀏覽器是否支持它,好比IE六、IE8確定是不支持的:字體

1.function hasPlaceholderSupport() {   動畫

2. var input = document.createElement('input');   網站

3. return ('placeholder' in input);   spa

4.}   firefox

5.  

若是用戶的瀏覽器不支持placeholder特徵,你須要藉助MooTools, Dojo, 或其它JavaScript工具來實現它:

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代碼

火狐瀏覽器裏的用法和谷歌瀏覽器裏不太同樣。它們的名稱都很好理解:

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:#090; background:lightgreen; text-transform:uppercase; }   

10.#field4::-webkit-input-placeholder { font-style:italic; text-decoration:overline; letter-spacing:3px; color:#999; }   

11.  

12./* individual: mozilla */  

13.#field2::-moz-placeholder { color:#00f; }   

14.#field3::-moz-placeholder { color:#090; background:lightgreen; text-transform:uppercase; }   

15.#field4::-moz-placeholder { font-style:italic; text-decoration:overline; letter-spacing:3px; color:#999; }   

16.  

你能夠控制placeholder文字的字體、顏色和風格。你甚至能夠將文本框的placeholder以動畫方式顯示。 美化你的文本框都是些看起來很小的事情,但對於一些交互式的網站來講,成功的關鍵就在於細節。如今IE10裏也只支持placeholder了,相信愈來愈多的人會使用這種原生的placeholder效果。

相關文章
相關標籤/搜索