我的CSS代码在safari和chrome等webkit浏览器中无法真正使用
如果您想在这里直播示例,则为http://jsfiddle.net/mnjKX/1/
我有这个CSS代码
.file-wrapper {
cursor: pointer;
display: inline-block;
overflow: hidden;
position: relative;
}
.file-wrapper input {
cursor: pointer;
font-size: 100px;
height: 100%;
filter: alpha(opacity=1);
-moz-opacity: 0.01;
opacity: 0.01;
position: absolute;
right: 0;
top: 0;
}
.file-wrapper .button {
background: #79130e;
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
border-radius: 5px;
color: #fff;
cursor: pointer;
display: inline-block;
font-size: 11px;
font-weight: bold;
margin-right: 5px;
padding: 4px 18px;
text-transform: uppercase;
}
和这个HTML代码:
<span class="file-wrapper">
<input type="file" name="photo" id="photo" />
<span class="button">Choose a Photo</span>
</span>
此代码显示隐藏的输入文件标签,
这里的问题是,cursor:pointer在webkit浏览器上不起作用,
我该如何解决或绕过/超越?
最佳答案
对于初学者,如果您从height
规则中删除input
声明,则可以在Chrome中使用。
现场演示: http://jsfiddle.net/mnjKX/16/
但是,这个透明的输入字段实在令人难以接受……我不会依靠它。
更新:
这是正确的解决方案:
::-webkit-file-upload-button { cursor:pointer; }
我以为文件上传按钮无法访问,但是Chrome的用户代理样式表证明我的
:)
错误