Javascript 绝对定位溢出
好的,问题是: 我试图把两个元素(一个textarea和一个input)放在另一个元素的上面,第一个元素占据了所有剩余的空间 元素是绝对定位的 但是,当我尝试设置Javascript 绝对定位溢出,javascript,jquery,html,css,twitter-bootstrap,Javascript,Jquery,Html,Css,Twitter Bootstrap,好的,问题是: 我试图把两个元素(一个textarea和一个input)放在另一个元素的上面,第一个元素占据了所有剩余的空间 元素是绝对定位的 但是,当我尝试设置left属性(在任何属性上)时,最右边的部分似乎溢出。(将设置为正确的也没有任何帮助) HTML: <div id="the-wrapper"> <textarea class="form-control"></textarea> <input id="search-input
left
属性(在任何属性上)时,最右边的部分似乎溢出。(将设置为正确的
也没有任何帮助)
HTML:
<div id="the-wrapper">
<textarea class="form-control"></textarea>
<input id="search-input" type="text" class="form-control" placeholder="Insert a command & press <Return>" name="cmd-term">
</div>
textarea {
position: absolute;
top: 10px;
bottom:50px;
left: 10px;
overflow:visible;
}
input {
height:34px;
position:absolute;
bottom:15px;
left:10px;
}
片段:
知道发生了什么吗?表单控件类将
宽度
设置为100%
。绝对定位元素的宽度基于其父元素。由于#包装器
没有位置,因此宽度将基于主体
您正在将其设置为100%
,但使用left
属性将其错放在10px
的左侧
解决方案是重载width
属性,用calc
值“固定”左偏移:
.form-control {
width: calc(100% - 10px);
}
查看
表单控件类。它给出元素宽度:100%
,并且您的定位将其从左侧偏移10px。这可能会把它推向边缘。您可能希望查看引导网格系统以帮助定位,它将更友好地使用表单控件。编辑:@阴影井。。。很明显,我可以取消设置宽度,但是我如何进行绝对定位,堆叠元素,并让textarea在父级调整大小时“展开”?如果让textarea为100%宽度,相对定位(或无),并且输入为绝对,这将起作用。这将允许您将输入放置在textarea.@Dr.Kameleon的顶部。使用网格系统,您基本上可以将其放入一个div中,填充整行,然后将下一个元素放入下一行。Bootstrap可以无缝地处理大小调整,您接受的答案将解决问题,但我认为大多数开发人员都会同意这是一个有点草率的解决方案。一个词:真棒。非常感谢!:-)