当前位置:  开发笔记 > 编程语言 > 正文

更改输入类型="文件"上的光标类型

如何解决《更改输入类型="文件"上的光标类型》经验,为你挑选了6个好方法。

简单问题...如何更改文件输入类型的光标类型?

我尝试过以下方法:



    
        
    
    
        
    

出于某种原因,它不会打球.



1> awe..:

它在不同浏览器中的工作方式不 我想这是因为文件输入类型非常特殊.

你使用什么浏览器/版本?

我知道IE6不支持在样式中指定类型.

它在不同浏览器中的工作原理

IE7 +

完美的工作.

火狐

问题是固定的,所以现在它完美地运作.请参阅有关此问题的错误报告.
在3.5版本中它根本不起作用.

Chrome和Safari (相同的行为)

在按钮上方使用箭头,但在其余部分上使用定义的光标.

歌剧

完美的工作.


请注意,有几种解决方法会使用不同的技术来解决此问题.BjarkeCK的答案是我喜欢的一个优雅的解决方案,它适用于所有主流浏览器.



2> Endless..:

知道这是一个旧线程.但谷歌的结果带来了这个......我刚刚找到了一个部分解决方案的铬(不是invalving flash,javascript,溢出隐藏的额外DOM操作)

firefox修复了这个bug

safari(此时为7)和chrome没有相同的行为

safari(7,mac)对我来说根本不起作用

chrome(现在可能是当它的webkit时可以使用opera)可以使用:: webkit-file-upload-button伪类

.

input[type=file], /* FF, IE7+, chrome (except button) */
input[type=file]::-webkit-file-upload-button { /* chromes and blink button */
    cursor: pointer; 
}

问题是按钮一般不会继承游标属性(?),而是输入[type = file]字段的其余部分.这就是为什么chrome除了按钮之外还有指针


这应该标记为正确的答案.没有黑客,完成工作.
这有效100%

3> Lewis..:

cursor:pointer仅因为默认按钮而无法对输入文件起作用.这里没有特别的理由.您需要通过此代码删除其外观,注意font-size:0.

input[type='file']{
    opacity: 0;
    cursor: pointer;
    width: 24px;
    height: 24px;
    font-size: 0;
    position: absolute;
}



4> madtyn..:

我今天遇到了这个问题并且:

/* Chrome/Safari and web-kit-based browsers 
   (if it doesn't work, try maybe also on the parent/wrapper)
*/
::-webkit-file-upload-button {
    cursor:pointer;
}

/* IE11 (if it doesn't work, try maybe also on the parent/wrapper) */
input[type=file] {
    cursor:pointer;
}

好像很好:-)



5> ParPar..:

如果 你想强制光标移动以便将它放在图像上,这里有一个

简单的方式以及它在所有浏览器中的工作原理:

HTML:



JQuery的:

$("#upfile1").click(function () {
     $("#file1").trigger('click');
});

然后你可以按任意按钮上传文件,你有一个指针光标.


在Chrome和Opera中,光标只是填充的指针,如果display:block;这就是为什么对于那些浏览器你应该这样做:



由于这在Chrome和Opera中不起作用,您应该从标题文本中删除"所有浏览器中的工作"!
在chrome和Opera中不起作用:http://jsfiddle.net/LWHbs/1/.出于安全原因,真的不应该在任何浏览器中工作,但我们去了.
@awe这是主题中最简单的方法,明显优于"FIREFOX - 根本不起作用".

6> oporkov..:

我做了以下:

  • file
  • 对于李:

    li { /*...*/ position:relative; overflow:hidden; /*...*/ }
    

    输入:

    input#file_inp { 
        /*...*/ 
        position: absolute; 
        width: 400px; 
        left: -200px; 
        top:0; 
        cursor: pointer; 
        /*...*/ 
    }
    

    如前所述,光标在整个输入上变为"指针",不包括按钮.在大多数浏览器中,按钮位于左侧或右侧.好!让我们给输入一个巨大的宽度,只显示中间...按钮将被隐藏.而clickable是整个输入.

    这对我行得通.

    推荐阅读
    echo7111436
    这个屌丝很懒,什么也没留下!
    DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
    Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有