Complete Code For Creating Customize File Upload Button Using CSS.
<!DOCTYPE html>
<html>
<head>
<title>How To Create Customize File Upload Button Using CSS</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.0/css/bootstrap.min.css" rel="stylesheet">
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
</head>
<style>
*{
box-sizing: border-box;
}
body{
background: black;
}
.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;
}
.form {
width: 400px;
}
.file-upload-wrapper {
position: relative;
width: 100%;
height: 60px;
}
.file-upload-wrapper:after {
content: attr(data-text);
font-size: 18px;
position: absolute;
top: 0;
left: 0;
background: #fff;
padding: 10px 15px;
display: block;
width: calc(100% - 40px);
pointer-events: none;
z-index: 20;
height: 40px;
line-height: 40px;
color: #999;
border-radius: 5px 10px 10px 5px;
font-weight: 300;
}
.file-upload-wrapper:before {
content: 'Upload';
position: absolute;
top: 0;
right: 0;
display: inline-block;
height: 40px;
background: #4daf7c;
color: #fff;
font-weight: 700;
z-index: 25;
font-size: 16px;
line-height: 44px;
padding: 0 15px;
text-transform: uppercase;
pointer-events: none;
border-radius: 0 5px 5px 0;
}
.file-upload-wrapper:hover:before {
background: #3d8c63;
}
.file-upload-wrapper input {
opacity: 0;
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
z-index: 99;
height: 40px;
margin: 0;
padding: 0;
display: block;
cursor: pointer;
width: 100%;
}
.wrapper{
display: flex;
}
</style>
<body>
<br/><br/>
<div class="container">
<br>
<div class="text-center">
<h1 id="color" style="color: white;">Create Customize File Upload Button Using CSS</h1>
</div>
<br><br><br>
<div class="well">
<h3>file upload one </h3>
<div class="upload-btn-wrapper">
<button class="btn">Upload a file</button>
<input type="file" name="myfile" />
</div>
<h3>file upload two </h3>
<form class="form">
<div class="file-upload-wrapper" data-text="Select your file!">
<input name="file-upload-field" type="file" class="file-upload-field" value="">
</div>
</form>
<h3>file upload two </h3>
<div class="wrapper">
<input type="file" name="file" id="file" class="inputfile" />
<label for="file">Choose a file</label>
</div>
</div>
</div>
</body>
</html>
<script>
$("form").on("change", ".file-upload-field", function(){
$(this).parent(".file-upload-wrapper").attr("data-text", $(this).val().replace(/.*(\/|\\)/, '') );
});
</script>