当textarea文本长度发生变化时,我对元素位置有疑问。
HTML:
<body>
<div class="container">
<div class="child">
<div class="bar">
<textarea></textarea>
</div>
</div>
</div>
</body>
容器 div有位置是相对的并且包含子 div有位置是绝对的,在子div中包含一个元素也有位置绝对。
CSS:
* {
margin: 0; padding: 0;
box-sizing: border-box;
}
.container {
position: relative;
width: 800px;
height: 500px;
overflow: hidden;
margin: 0 auto
}
.child {
position: absolute;
width: 100%;
height: 100%;
overflow: hidden;
border: 1px solid #000;
}
.bar {
position: absolute;
left: 780px;
top: 50px;
height: 30px;
border: 1px solid #000;
}
.bar textarea {
position: absolute;
left: 0;
top: 0
}
我在textarea元素中添加了一个事件:
<script type="text/javascript">
$(document).ready(function () {
$('textarea').keyup(function () {
$(this).parent().width($(this).width() + 1);
});
});
</script>
当我将文本输入textarea时,如果文本的长度超过容器,则子元素的位置会有错误,但实际位置不会改变。
答案 0 :(得分:0)
如果你给.bar位置:固定;它将不再向左移动。