我希望输入为width: 100%;
并位于图像的右侧。
没有桌子可以吗?如果是我怎么能实现呢?
HTML:
<div class="wrapper">
<img src="http://www.iconpot.com/icon/thumbnail/geek-avatar.jpg" />
<input/>
</div>
CSS:
input {
width:100%;
float:left;
}
谢谢
答案 0 :(得分:3)
您可以使用calc()
执行此操作<强> FIDDLE 强>
input
{
width: calc(100% - 130px); /* width of img + extra padding between */
}
您还可以通过设置img
的样式来对齐输入img
{
vertical-align: middle; /* or top /bottom.. etc */
}
答案 1 :(得分:1)
演示: http://jsfiddle.net/abhitalks/DL8kG/9/
想法:
将图像包装并输入自己的容器中。在容器上使用display: table-cell
。使用vertical-align: middle
排队。这将允许你有100%的宽度。
标记:
<div class="wrapper">
<div class="imgWrap">
<img src="http://www.iconpot.com/icon/thumbnail/geek-avatar.jpg" />
</div>
<div class="inputWrap">
<input/>
</div>
</div>
CSS :
div.wrapper {
width: 100%;
}
.imgWrap {
display: table-cell;
}
.inputWrap {
display: table-cell;
width: 100%;
vertical-align: middle;
padding: 4px;
}
input {
width: 100%;
}
答案 2 :(得分:1)
使用浮动和溢出技巧。将图像浮动到左侧,并将输入放在一个隐藏溢出的容器中。输入的宽度为100%。输入的容器将占用屏幕的其余部分(我假设你的意思是100%):
<强> HTML 强>
<div class="wrapper">
<img src="http://www.iconpot.com/icon/thumbnail/geek-avatar.jpg" />
<div class="inp"><input/></div>
</div>
<强> CSS 强>
img{
float:left;
}
.inp{
overflow:hidden;
background:#F00;
}
.inp input{
width:100%;
}
请注意默认样式(填充,边框..)将如何影响输入的总宽度。
答案 3 :(得分:0)
<div class="wrapper">
<div id="img">
<img src="http://www.iconpot.com/icon/thumbnail/geek-avatar.jpg" />
</div>
<div id="input">
<input/>
</div>
</div>
<强> CSS 强>
#input {
display:table-cell;
}
input{
width:100%;
float:left;
}
#img {
width:130px;
float:left;
border:1px solid black;
display:table-cell;
}
答案 4 :(得分:0)
<div class="wrapper">
<img src="http://www.iconpot.com/icon/thumbnail/geek-avatar.jpg" style="float:left"/>
<div style="float:left">
<input />
</div>