HTML5里的placeholder屬性使用實(shí)例和美化顯示效果的方法

字號(hào):


    placeholder屬性能夠讓你在文本框里顯示提示信息,一旦你在文本框里輸入了什么信息,提示信息就會(huì)隱藏。你以前可能無(wú)數(shù)次看到這種效果,但那些大部分是用JavaScript里實(shí)現(xiàn)的,而現(xiàn)在,HTML5提供了原生支持,而且效果更好!
    HTML代碼
    代碼如下:
    <input type="text" name="first_name" placeholder="你的姓名..." />
    你也看見(jiàn)了,需要做的只是在文本框的聲明標(biāo)簽上加入placeholder屬性。完全不需要JavaScript來(lái)創(chuàng)造這種效果。
    檢查瀏覽器是否支持Placeholder屬性
    因?yàn)閜laceholder是一種新屬性,很有必要檢查一下你的瀏覽器是否支持它,比如IE6、IE8肯定是不支持的:
    代碼如下:
    function hasPlaceholderSupport() {
    var input = document.createElement('input');
    return ('placeholder' in input);
    }
    如果用戶的瀏覽器不支持placeholder特征,你需要借助MooTools, Dojo, 或其它JavaScript工具來(lái)實(shí)現(xiàn)它:
    代碼如下:
    /* mootools ftw! */
    var firstNameBox = $('first_name'),
    message = firstNameBox.get('placeholder');
    firstNameBox.addEvents({
    focus: function() {
    if(firstNameBox.value == message) { searchBox.value = ''; }
    },
    blur: function() {
    if(firstNameBox.value == '') { searchBox.value = message; }
    }
    });
    用CSS美化placeholder
    在進(jìn)一步研究時(shí)我發(fā)現(xiàn)了另外一個(gè)有趣的CSS功能:CSS美化INPUT placeholder效果。下面讓我來(lái)用簡(jiǎn)單的CSS代碼美化文本框里的placeholder文字。
    CSS代碼
    火狐瀏覽器里的用法和谷歌瀏覽器里不太一樣。它們的名稱都很好理解:
    代碼如下:
    /* all */
    ::-webkit-input-placeholder { color:#f00; }
    ::-moz-placeholder { color:#f00; } /* firefox 19+ */
    :-ms-input-placeholder { color:#f00; } /* ie */
    input:-moz-placeholder { color:#f00; }
    /* individual: webkit */
    #field2::-webkit-input-placeholder { color:#00f; }
    #field3::-webkit-input-placeholder { color:#090; background:lightgreen; text-transform:uppercase; }
    #field4::-webkit-input-placeholder { font-style:italic; text-decoration:overline; letter-spacing:3px; color:#999; }
    /* individual: mozilla */
    #field2::-moz-placeholder { color:#00f; }
    #field3::-moz-placeholder { color:#090; background:lightgreen; text-transform:uppercase; }
    #field4::-moz-placeholder { font-style:italic; text-decoration:overline; letter-spacing:3px; color:#999; }
    你可以控制placeholder文字的字體、顏色和風(fēng)格。你甚至可以將文本框的placeholder以動(dòng)畫(huà)方式顯示。 美化你的文本框都是些看起來(lái)很小的事情,但對(duì)于一些交互式的網(wǎng)站來(lái)說(shuō),成功的關(guān)鍵就在于細(xì)節(jié)?,F(xiàn)在IE10里也只支持placeholder了,相信越來(lái)越多的人會(huì)使用這種原生的placeholder效果。