javascript - 绝对定位溢出

标签 javascript jquery html css twitter-bootstrap

好的,问题来了:

我试图将两个元素(一个文本区域和一个输入)放在另一个之上,第一个占据所有剩余空间。

元素是绝对定位的。

但是,当我尝试设置 left 属性(在其中任何一个上)时,最右边的部分似乎溢出了。 (设置正确的也没有任何帮助)。


HTML:

<div id="the-wrapper">
    <textarea class="form-control"></textarea>
    <input id="search-input" type="text" class="form-control" placeholder="Insert a command &amp; press <Return>" name="cmd-term">
</div>

CSS:

textarea {
  position: absolute; 
  top: 10px; 
  bottom:50px; 
  left: 10px; 
  overflow:visible;
}

input {
  height:34px; 
  position:absolute; 
  bottom:15px; 
  left:10px;
}

片段: http://www.bootply.com/MAkCQNtiXY


知道发生了什么吗?

最佳答案

.form-control 类将宽度设置为100%。绝对定位元素的宽度基于其父元素。由于 #the-wrapper 没有位置,宽度将基于 body

您将其设置为 100%,但使用 left 属性将其错位到左侧 10px

一个解决方案是重载 width 属性,用 calc 值“修复”左边的偏移量:

.form-control {
    width: calc(100% - 10px);
}

http://www.bootply.com/vnEI0vl1d5

关于javascript - 绝对定位溢出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25745980/

相关文章:

javascript - 如何使用 koa ctx body 进行多个响应?

javascript - 使用 ajax 将 FormData 发送到 ASP.NET MVC Controller

javascript - 通过传递第一个 API 值在 ng-repeat 内进行另一个 API 调用

javascript - 歌曲的进度条

java - Wicket:如何在 session 内同步请求

javascript - 为什么重新分配参数不适用于具有默认值的参数?

javascript - HTML 如何调用验证例程?

javascript - 尝试根据特定输入字段是否具有焦点来显示元素

javascript - 在 jQuery 中使用 .get() 从 PHP 中获取 JSON 数据

jquery - 使用jquery刷新div选项卡onclick?