我正在尝试使用css创建的按钮更改默认输入类型=“文件”按钮。这是我的HTML代码:
<input type="file" name="name" value="" />
<a href="#" class="button">Browse</a>
...这是我的css按钮代码:
.button {
display:inline;
-moz-box-shadow:inset 0px 1px 0px 0px #fff6af;
-webkit-box-shadow:inset 0px 1px 0px 0px #fff6af;
box-shadow:inset 0px 1px 0px 0px #fff6af;
background:-webkit-gradient( linear, left top, left bottom, color-stop(0.05, #ffec64), color-stop(1, #f3b415) );
background:-moz-linear-gradient( center top, #ffec64 5%, #f3b415 100% );
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffec64', endColorstr='#f3b415');
background-color:#ffec64;
-moz-border-radius:6px;
-webkit-border-radius:6px;
border-radius:6px;
border:1px solid #f3b415;
display:inline-block;
color:#333333;
font-family:arial;
font-size:15px;
font-weight:bold;
padding:6px 24px;
text-decoration:none;
text-shadow:1px 1px 0px #ffee66;
}
.button:hover {
background:-webkit-gradient( linear, left top, left bottom, color-stop(0.05, #f3b415), color-stop(1, #ffec64) );
background:-moz-linear-gradient( center top, #f3b415 5%, #ffec64 100% );
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#f3b415', endColorstr='#ffec64');
background-color:#f3b415;
}
.button:active {
position:relative;
top:1px;
}
另外,您可以查看here
答案 0 :(得分:2)
根据Demo提供的技巧构建QuirksMode。阅读它以获得解释。
<强> HTML 强>
<div class="fileinputs">
<input type="file" class="file" />
<div class="fakefile">
<a href="#" class="button">Browse</a>
</div>
</div>
<强> CSS 强>
.button {
display:inline;
-moz-box-shadow:inset 0px 1px 0px 0px #fff6af;
-webkit-box-shadow:inset 0px 1px 0px 0px #fff6af;
box-shadow:inset 0px 1px 0px 0px #fff6af;
background:-webkit-gradient( linear, left top, left bottom, color-stop(0.05, #ffec64), color-stop(1, #f3b415) );
background:-moz-linear-gradient( center top, #ffec64 5%, #f3b415 100% );
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffec64', endColorstr='#f3b415');
background-color:#ffec64;
-moz-border-radius:6px;
-webkit-border-radius:6px;
border-radius:6px;
border:1px solid #f3b415;
display:inline-block;
color:#333333;
font-family:arial;
font-size:15px;
font-weight:bold;
padding:6px 24px;
text-decoration:none;
text-shadow:1px 1px 0px #ffee66;
}
.button:hover {
background:-webkit-gradient( linear, left top, left bottom, color-stop(0.05, #f3b415), color-stop(1, #ffec64) );
background:-moz-linear-gradient( center top, #f3b415 5%, #ffec64 100% );
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#f3b415', endColorstr='#ffec64');
background-color:#f3b415;
}
.button:active {
position:relative;
top:1px;
}
div.fileinputs {
position: relative;
}
div.fakefile {
position: absolute;
top: 0px;
left: 0px;
z-index: 1;
}
input.file {
position: relative;
text-align: right;
-moz-opacity:0 ;
filter:alpha(opacity: 0);
opacity: 0;
z-index: 2;
}
答案 1 :(得分:0)
据我所知,您无法为“浏览”按钮设置样式。你在这里唯一的工作是使用Z-Index覆盖另一个按钮;这可能不是一个很好的做法。
答案 2 :(得分:0)
文件输入由OPERATING SYSTEM呈现,它们不是HTML规范的一部分。
答案 3 :(得分:0)
您可以将输入调整为按钮,然后编写一个jQuery函数来显示该文件:
<input type="button" name="name" value="Browse" class="button"/>