Ok rất đơn giản cách css thuần để tạo tập tin đầu vào tùy chỉnh của bạn.
Sử dụng nhãn, nhưng như bạn biết từ các câu trả lời trước, nhãn không gọi chức năng onclick trong firefox, có thể là một lỗi nhưng không thành vấn đề với những điều sau đây.
<label for="file" class="custom-file-input"><input type="file" name="file" class="custom-file-input"></input></label>
Những gì bạn làm là tạo kiểu cho nhãn để xem bạn muốn nó như thế nào
.custom-file-input {
color: transparent;/* This is to take away the browser text for file uploading*/
/* Carry on with the style you want */
background: url(../img/doc-o.png);
background-size: 100%;
position: absolute;
width: 200px;
height: 200px;
cursor: pointer;
top: 10%;
right: 15%;
}
bây giờ chỉ cần ẩn nút đầu vào thực tế, nhưng bạn không thể đặt nó thành visability: hidden
Vì vậy, làm cho vô hình bằng cách thiết lập opacity: 0;
input.custom-file-input {
opacity: 0;
position: absolute;/*set position to be exactly over your input*/
left: 0;
top: 0;
}
Bây giờ như bạn có thể nhận thấy tôi có cùng một lớp trên nhãn của mình khi tôi thực hiện trường nhập liệu của mình, đó là vì tôi muốn cả hai có cùng kiểu dáng, do đó, bất cứ khi nào bạn nhấp vào nhãn, bạn thực sự đang nhấp vào vô hình trường đầu vào.