IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    HTML5的input新属性placeholder解析

    ciciweb发表于 2012-11-16 08:45:02
    love 0

    最近发现一些网站会给input加一个与以往不同的效果 问了下度娘才知道是html5的新属性,这个效果交互性还不错 估计以后使用的网站会越来越多。

    传统的input提示效果:

    placeholder属性提示效果:

    现在支持的浏览器有:Firefox4.0+、Chrome4.0+、Safari4.0+,Opera 11、IE9 RC2尚不支持。

    placeholder的默认提示文字是灰色的,可以通过CSS来改变文字样式

    /* all */
    ::-webkit-input-placeholder { color:#f00; }
    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; }
    

    可以通过以下js兼容其他不支持placeholder的浏览器:

     var PlaceHolder = {
        _support: (function() {
        return 'placeholder' in document.createElement('input');
        })(),
    
        //提示文字的样式,需要在页面中其他位置定义
        className: 'abc',
    
        init: function() {
        if (!PlaceHolder._support) {
        //未对textarea处理,需要的自己加上
        var inputs = document.getElementsByTagName('input');
        PlaceHolder.create(inputs);
        }
        },
    
        create: function(inputs) {
        var input;
        if (!inputs.length) {
        inputs = [inputs];
        }
        for (var i = 0, length = inputs.length; i 


沪ICP备19023445号-2号
友情链接