如何水平插入以下图片的输入<%= image_tag form.object.images_url(:thumb).to_s %>
:control-fileupload
:
input[type=file] {
display: block !important;
right: 1px;
top: 1px;
height: 34px;
opacity: 0;
width: 100%;
background: none;
position: absolute;
overflow: hidden;
z-index: 2;
}
.control-fileupload {
display: block;
border: 1px solid #d6d7d6;
background: #FFF;
border-radius: 4px;
width: 100%;
height: 36px;
line-height: 36px;
padding: 0px 10px 2px 10px;
overflow: hidden;
position: relative;
&:before, input, label {
cursor: pointer !important;
}
/* File upload button */
&:before {
/* inherit from boostrap btn styles */
padding: 4px 12px;
margin-bottom: 0;
font-size: 14px;
line-height: 20px;
color: #333333;
text-align: center;
text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
vertical-align: middle;
cursor: pointer;
background-color: #f5f5f5;
background-image: linear-gradient(to bottom, #ffffff, #e6e6e6);
background-repeat: repeat-x;
border: 1px solid #cccccc;
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
border-bottom-color: #b3b3b3;
border-radius: 4px;
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
transition: color 0.2s ease;
/* add more custom styles*/
content: 'Browse';
display: block;
position: absolute;
z-index: 1;
top: 2px;
right: 2px;
line-height: 20px;
text-align: center;
}
&:hover, &:focus {
&:before {
color: #333333;
background-color: #e6e6e6;
color: #333333;
text-decoration: none;
background-position: 0 -15px;
transition: background-position 0.2s ease-out;
}
}
label {
line-height: 24px;
color: #999999;
font-size: 14px;
font-weight: normal;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
position: relative;
z-index: 1;
margin-right: 90px;
margin-bottom: 0px;
cursor: text;
}
}
<div class="nested-fields">
<img src="pic_trulli.jpg" alt="Italian Trulli">
<span class="control-fileupload">
<input type="text" name="fname">
</span>
<div class="field_with_errors">
<label class="message">if error exists</label>
<a href="url">Remove</a>
</div>
</div>
实现@ mulla.azzi的建议,我明白了:
答案 0 :(得分:1)
将'control-fileupload'类的'block'更新为'inline-block'并删除width属性将为您工作。
input[type=file] {
display: block !important;
right: 1px;
top: 1px;
height: 34px;
opacity: 0;
width: 100%;
background: none;
position: absolute;
overflow: hidden;
z-index: 2;
}
.control-fileupload {
display: inline-block;
border: 1px solid #d6d7d6;
background: #FFF;
border-radius: 4px;
height: 36px;
line-height: 36px;
padding: 0px 10px 2px 10px;
overflow: hidden;
position: relative;
&:before, input, label {
cursor: pointer !important;
}
/* File upload button */
&:before {
/* inherit from boostrap btn styles */
padding: 4px 12px;
margin-bottom: 0;
font-size: 14px;
line-height: 20px;
color: #333333;
text-align: center;
text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
vertical-align: middle;
cursor: pointer;
background-color: #f5f5f5;
background-image: linear-gradient(to bottom, #ffffff, #e6e6e6);
background-repeat: repeat-x;
border: 1px solid #cccccc;
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
border-bottom-color: #b3b3b3;
border-radius: 4px;
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05);
transition: color 0.2s ease;
/* add more custom styles*/
content: 'Browse';
display: block;
position: absolute;
z-index: 1;
top: 2px;
right: 2px;
line-height: 20px;
text-align: center;
}
&:hover, &:focus {
&:before {
color: #333333;
background-color: #e6e6e6;
color: #333333;
text-decoration: none;
background-position: 0 -15px;
transition: background-position 0.2s ease-out;
}
}
label {
line-height: 24px;
color: #999999;
font-size: 14px;
font-weight: normal;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
position: relative;
z-index: 1;
margin-right: 90px;
margin-bottom: 0px;
cursor: text;
}
}
<div class="nested-fields">
<img src="pic_trulli.jpg" alt="Italian Trulli">
<span class="control-fileupload">
<input type="text" name="fname">
</span>
<div class="field_with_errors">
<label class="message">if error exists</label>
<a href="url">Remove</a>
</div>
</div>
答案 1 :(得分:0)
这应该可以工作(为img标签添加了样式,并修改了.control-fileupload类)-
img {
display: inline-block;
vertical-align: middle;
width: 20%;
}
input[type=file] {
display: block !important;
right: 1px;
top: 1px;
height: 34px;
opacity: 0;
width: 100%;
background: none;
position: absolute;
overflow: hidden;
z-index: 2;
}
.control-fileupload {
display: inline-block;
border: 1px solid #d6d7d6;
background: #FFF;
border-radius: 4px;
width: 70%;
height: 36px;
line-height: 36px;
padding: 0px 10px 2px 10px;
overflow: hidden;
position: relative;
&:before,
input,
label {
cursor: pointer !important;
}
/* File upload button */
&:before {
/* inherit from boostrap btn styles */
padding: 4px 12px;
margin-bottom: 0;
font-size: 14px;
line-height: 20px;
color: #333333;
text-align: center;
text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
vertical-align: middle;
cursor: pointer;
background-color: #f5f5f5;
background-image: linear-gradient(to bottom, #ffffff, #e6e6e6);
background-repeat: repeat-x;
border: 1px solid #cccccc;
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
border-bottom-color: #b3b3b3;
border-radius: 4px;
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0,
0.05);
transition: color 0.2s ease;
/* add more custom styles*/
content: 'Browse';
display: block;
position: absolute;
z-index: 1;
top: 2px;
right: 2px;
line-height: 20px;
text-align: center;
}
&:hover,
&:focus {
&:before {
color: #333333;
background-color: #e6e6e6;
color: #333333;
text-decoration: none;
background-position: 0 -15px;
transition: background-position 0.2s ease-out;
}
}
label {
line-height: 24px;
color: #999999;
font-size: 14px;
font-weight: normal;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
position: relative;
z-index: 1;
margin-right: 90px;
margin-bottom: 0px;
cursor: text;
}
}