为什么按钮上的光标没有变化

Sta*_*dup 5 html css

我不确定为什么光标没有变成按钮上的指针。我看到一些解决方案说这是因为z-index. 但是当我尝试使用时z-index,它仍然不起作用。

.upload-btn-wrapper {
  position: relative;
  overflow: hidden;
  display: inline-block;
}

.btn {
  border: 2px solid gray;
  color: gray;
  background-color: white;
  padding: 8px 20px;
  border-radius: 8px;
  font-size: 20px;
  font-weight: bold;
}

.upload-btn-wrapper input[type=file] {
  font-size: 100px;
  position: absolute;
  left: 0;
  top: 0;
  opacity: 0;
  cursor: pointer;
}
Run Code Online (Sandbox Code Playgroud)
<div class="upload-btn-wrapper">
  <button class="btn">Upload a file</button>
  <input type="file" name="myfile" />
</div>
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助。

我从这个codepen中作弊:

https://codepen.io/adambene/pen/xRWrXN

小智 6

尝试cursor: pointer;向文件的输入类型添加属性。这是文件输入类型的最终片段。

.upload-btn-wrapper input[type=file] {
  font-size: 100px;
  position: absolute;
  left: 0;
  top: 0;
  opacity: 0;
  cursor: pointer; /*this is what you need*/
}
Run Code Online (Sandbox Code Playgroud)

让我知道这是否有效。


Ser*_*sov 3

您需要对输入进行以下更改:

  1. 添加cursor: pointer
  2. 添加width: 100%height: 100%
  3. 改成。font-size: 100pxfont-size: 0

.upload-btn-wrapper {
  position: relative;
  display: inline-block;
  overflow: hidden;
}

.btn {
  border: 2px solid gray;
  color: gray;
  background-color: white;
  padding: 8px 20px;
  border-radius: 8px;
  font-size: 20px;
  font-weight: bold;
}

.upload-btn-wrapper input[type=file] {
  font-size: 0;
  position: absolute;
  left: 0;
  top: 0;
  opacity: 0;
  cursor: pointer;
  width: 100%;
  height: 100%;
}
Run Code Online (Sandbox Code Playgroud)
<div class="upload-btn-wrapper">
  <button class="btn">Upload a file</button>
  <input type="file" name="myfile" />
</div>
Run Code Online (Sandbox Code Playgroud)