html - 在css中为文件上传按钮添加样式

标签 html css

我有一个带有以下 CSS 的文本字段和按钮:

JS fiddle 链接:http://jsfiddle.net/Tdkre/

.submit {
      -moz-box-shadow:inset 0px 1px 0px 0px #cae3fc;
      -webkit-box-shadow:inset 0px 1px 0px 0px #cae3fc;
      box-shadow:inset 0px 1px 0px 0px #cae3fc;
      background:-webkit-gradient( linear, left top, left bottom, color-stop(0.05, #79bbff), color-stop(1, #4197ee) );
      background:-moz-linear-gradient( center top, #79bbff 5%, #4197ee 100% );
      filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#79bbff', endColorstr='#4197ee');
      background-color:#79bbff;
     -moz-border-radius:6px;
     -webkit-border-radius:6px;
     border-radius:6px;
     border:1px solid #469df5;
     display:inline-block;
     color:#ffffff;
     font-family:arial;
     font-size:14px;
     font-weight:bold;
     padding:5px 14px;
     text-decoration:none;
     text-shadow:1px 1px 0px #287ace;
    cursor:pointer;
}
.submit:hover {
     background:-webkit-gradient( linear, left top, left bottom, color-stop(0.05, #4197ee), color-stop(1, #79bbff) );
     background:-moz-linear-gradient( center top, #4197ee 5%, #79bbff 100% );
     filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#4197ee', endColorstr='#79bbff');
     background-color:#4197ee;
}
 .submit:active {
   position:relative;
   top:1px;
}

 .text-input {
    padding: 6px;
    font-size: 13px;
    border: 1px solid #d5d5d5;
    color: #333;
    border-radius: 4px 4px 4px 4px !important;
 }

<form>
    <input type="text" class="text-input" size="40"/>
    <input type="button" value="Upload" id="upload" class="submit"/>
</form>

我想为文件上传输入类型添加相同的样式。我是一个 CSS 初学者。我如何使用这种样式来上传文件按钮?

最佳答案

试试这个解决方案:http://jsfiddle.net/JJRrc/1/

HTML

<p class="form">
  <input type="text" id="path" />
  <label class="add-photo-btn">upload
    <span>
       <input type="file" id="myfile" name="myfile" />
    </span>
  </label>
</p>

CSS

.form input[type="file"]{
  z-index: 999;
  line-height: 0;
  font-size: 50px;
  position: absolute;
  opacity: 0;
  filter: alpha(opacity = 0);-ms-filter: "alpha(opacity=0)";
  cursor: pointer;
  _cursor: hand;
  margin: 0;
  padding:0;
  left:0;
  }
 .add-photo-btn{
   position:relative;
   overflow:hidden;
   cursor:pointer;
   text-align:center;
   background-color:#83b81a;
   color:#fff;
   display:block;
   width:197px;
   height:31px;
   font-size:18px;
   line-height:30px;
   float:left;
 }
 input[type="text"]{
   float:left;
 }

JQuery

$('#myfile').change(function(){
  $('#path').val($(this).val());
});

关于html - 在css中为文件上传按钮添加样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14401550/

相关文章:

javascript - 如何使用 React 添加帖子?

jquery - 如何使显示:flex work for responsiveness - Bootstrap?

css - 将鼠标悬停在列表上时如何更改 anchor 颜色

html - 在网格中使用 flexbox 时在 div 之间添加空间

javascript - 只删除 jQuery 中的第二个字符

javascript - 在 JQuery 中生成另一个 HTML 表以输入更多小时数进行计算

css - 寻找一种在 table 后面放置一盒颜色的简单方法

css - 如何将resizeMode设置为 "contain"的ImageBackground放在顶部?

javascript - 使用jQuery淡入淡出div onclick

javascript - 图像 slider 和下拉菜单不能一起使用