当我将图标显示在图像上时。但我想显示像这样的图标
<input type ='file'>
我该怎么做?
我尝试将文件标记放到所有文件标签上,但它没有用。我怎么能这样做?
.profile-img-container {
position: absolute;
width:50%;
}
.profile-img-container img:hover {
opacity: 0.5;
z-index: 501;
}
.profile-img-container img:hover + i {
display: block;
z-index: 500;
}
.profile-img-container i {
display: none;
position: absolute;
margin-left:43%;
margin-top:40%;
}
.profile-img-container img {
position:absolute;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css" rel="stylesheet" />
<link href="http://maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css" rel="stylesheet" />
<script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/js/bootstrap.min.js"></script>
<div class="profile-img-container">
<img src="http://s3.amazonaws.com/37assets/svn/765-default-avatar.png" class="img-thumbnail img-circle img-responsive" />
<i class="fa fa-upload fa-5x"></i>
</div>
答案 0 :(得分:5)
您应该在代码中添加一个输入文件,但是使其不可见,然后您可以使用jQuery进行文件浏览。
<强> HTML:强>
<input id='uploadfile' type ='file'>
<强> JS:强>
$('.profile-img-container img').click(function(){
$('#uploadfile').click();
});
<强> Working Fiddle 强>
未来问题的第二种方式:
<input id='uploadfile' type ='file'>
input#uploadfile {
width: 200px;
height: 200px;
background: url('http://s3.amazonaws.com/37assets/svn/765-default-avatar.png');
border-radius: 50%;
display: block;
padding-top: 23.5%;
box-sizing: border-box;
overflow: hidden;
background-size: 100%;
}
<强> Working Fiddle 强>
答案 1 :(得分:5)
您需要在代码中添加input[type="file"]
并使其不可见。此外,它需要img
所有位置,将其position
设置为absolute
以及所有其他样式,以便它可以占据所有位置。
像这样:
.profile-img-container {
position: absolute;
/*width:50%;*/
/*border-radius:50%;*/
overflow:hidden;
}
.profile-img-container img:hover {
opacity: 0.5;
z-index: 501;
}
.profile-img-container img:hover + i {
display: block;
z-index: 500;
}
.profile-img-container .icon-wrapper {
position: absolute;
bottom:0;
left:0;
background:rgba(0,0,0,0.7);
color:#fff;
text-align:center;
width:100%;
padding:5px;
}
/*.profile-img-container img {
position:absolute;
}*/
/*.profile-img-container {
position:relative;
}*/
input[type="file"] {
opacity:0;
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
}
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<link href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css" rel="stylesheet" />
<link href="http://maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css" rel="stylesheet" />
<script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.1/js/bootstrap.min.js"></script>
<div class="profile-img-container img-circle">
<input type="file" />
<img src="http://s3.amazonaws.com/37assets/svn/765-default-avatar.png" class="img-thumbnail img-circle img-responsive" />
<div class="icon-wrapper">
<i class="fa fa-upload fa-5x"></i>
</div>
</div>
&#13;