I am trying to create an upload form which takes multiple images. I want to be able to remove the "Choose Files" button but keep the "No file chosen" to inform the user what files they are going to be uploading.
I understand that I can set the opacity to 0 on the input type file styling, but this removes both the "Choose Files" and "No file chosen" text.
Here is the codepen of the image uploader so far.
To summarise:
Here is the HTML:
<div class="upload">
<div class="container">
<div class="row">
<div class="col-md-12">
<h1>Would you like to <span style='color: lightgreen;'>Upload</span> or <span style='color: orangered;'>Delete</span> a file?</h1>
<div style="position: relative; height: 275px;">
<form action="" method="post" enctype="multipart/form-data" class="formUp">
<input type="file" name="fileToUpload[]" id="fileToUpload" accept="image/*" multiple="multiple"><p>Click here to upload images.</p></input>
<input type="submit" value="Upload Images" name="submitUpload" />
</form>
</div>
</div>
</div>
</div>
</div>
Here is the CSS:
.up {
border: none;
}
.upload {
padding-top: 6%;
}
.upload input[type='file'] {
outline: none;
width: 100%;
height: 100%;
position: absolute;
}
.formUp {
border: 4px dashed black;
width: 400px;
height: 200px;
position: absolute;
}
.formUp p {
text-align: center;
width: 100%;
height: 100%;
line-height: 170px;
font-weight: bold;
font-size: 1.5em;
}
.upload input[type='submit'] {
margin-top: 2%;
width: 100%;
height: 20%;
}
.upload input[type='submit'] {
background: #0AC986;
dispaly: inline-block;
width: 100%;
font-size: 16px;
height: 50px;
color: #fff;
text-decoration: none;
border: none;
border-radius: 4px;
-moz-border-radius: 4px;
-webkit-border-radius: 4px;
}
.upload input[type='submit']:hover {
color: #F37272;
background-color: palegreen;
}
.upload input[type='submit'] {
-o-transition: all .3s;
-moz-transition: all .3s;
-webkit-transition: all .3s;
-ms-transition: all .3s;
}
.upload input[type='submit']:hover {
color: red;
}
The text-indent
property will manipulate the position of the Choose Files button but leave the No file chosen text.
.upload input[type='file'] { text-indent: -999em; outline: none; width: 100%; height: 100%; position: absolute; }
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With