使用CSS

时间:2017-10-24 08:11:30

标签: html css

我提供了一个文件上传文件,我根据PHP表格正在使用的颜色主题进行了定制,但它只是静态的。我想在按照W3Schools教程后存档的按钮上添加一个小过渡。

但在那之后,我面临一个问题,我真的不知道如何解决。我对这个问题进行了搜索,但大多数答案建议使用bootstrap,我也尝试了它,它搞砸了我当前的项目CSS

有人可以向我展示我对动画部分的错误。



.fileUpload {
  float: left;
  position: relative;
  overflow: hidden;
  background-color: #4068E0;
  color: white;
  height: 30px;
  width: 120px;
  text-align: center;
  border: 2px solid #4068E0;
  border-radius: 20px;
  box-shadow: 2px 2px 1px 1px rgba(0, 0, 0, 0.4);
  -webkit-transition: prop 0.4s;
  -moz-transition: prop 0.4s;
  -ms-transition: prop 0.4s;
  -o-transition: prop 0.4s;
  transition: prop 0.4s;
}

.fileUpload:after {
  content: "";
  background: #85b7e8;
  display: block;
  position: absolute;
  opacity: 0;
  transition: all 0.8s;
  padding-top: 300%;
  padding-left: 350%;
  margin-left: -20px!important;
  margin-top: -120%;
  font-size: 20px;
  cursor: pointer;
  filter: alpha(opacity=0);
  height: 100%;
  text-align: center;
}

.fileUpload:active:after {
  padding: 0;
  margin: 0;
  opacity: 1;
  transition: 0s
}

.fileUpload input.upload {
  position: absolute;
  top: 0;
  right: 0;
  margin: 0;
  padding: 0;
  font-size: 20px;
  cursor: pointer;
  opacity: 0;
  filter: alpha(opacity=0);
  height: 100%;
  text-align: center;
}

.fileName {
  margin: 2px 0 0 130px;
  width: auto;
}

.updLabel {
  line-height: 30px;
  font-weight: bold;
}

#uploadFile {
  border: none;
  width: 150px;
  height: 30px;
}

<div class="usrCreate-form-right">
  <div class="fileUpload">
    <span class="updLabel">Add Image</span>
    <input type="file" id="uploadFile" class="upload">
  </div>
  <div class="fileName">
    <input id="uploadFile" placeholder="0 files selected" disabled>
  </div>
</div>
&#13;
&#13;
&#13;

正如您在上面的代码片段中看到的那样,动画确实发生了,但它没有弹出文件选择窗口。如果我禁用动画部分,它会弹出,我尝试了一些其他的东西也没有用,这就是为什么我决定在这里问。

1 个答案:

答案 0 :(得分:3)

当我在输入上添加z-index时,我的代码成功了。我试过z-index: 1并且它有效。按钮上的视觉效果不会改变。

.fileUpload > input {
    z-index: 1;
}