zoukankan      html  css  js  c++  java
  • input 打开文件夹事件委托

    本文来自:http://www.zhangxinxu.com/wordpress/2015/11/html-input-type-file/

    原生的file input不收待见的另外一个原因是:长的丑还不好控制。

    举个例子,下图这个“选择文件”这几个文字,我们就不好对file控件动刀子实现自定义:
    file input框

    怎么办呢?

    有一种方法是这样的:
    让file类型的元素透明度0,覆盖在我们好看的按钮上。然后我们去点击好看的按钮,实际上点击是是file元素。

    然而,此方法有一些不足:

    1. 尺寸控制不灵活。CSS width属性有些浏览器不管用,需要使用size,然后高度控制也不精准,我们很难正好覆盖在好看的自定义按钮上。
    2. 样式不好控制,按钮的hover态以及active态不好处理。
    3. HTML结构限制以及定位成本。

    更好的方法是,使用label元素与file控件关联,好处在于:

    1. 点击自定义的漂亮按钮就是点击我们file控件;
    2. 没有尺寸控制不精确的问题;
    3. 没有不能响应hover态active态的问题;
    4. 我们的漂亮按钮甚至可以在form表单元素的外面,例如:
      <label class="ui_button ui_button_primary" for="xFile">上传文件</label>
      <form><input type="file" id="xFile" style="position:absolute;clip:rect(0 0 0 0);"></form>

  • 相关阅读:
    Python基础第十五天:初始面向对象
    Python基础第十四天:模块和包
    支付宝支付,邮件发送,短信推送,微信推送
    滑动验证
    Haystack全文检索
    Celery完成定时任务
    scrapy框架
    手机app抓包
    MongoDB数据库
    xpath解析数据
  • 原文地址:https://www.cnblogs.com/zhou195/p/7449549.html
Copyright © 2011-2022 走看看