У меня есть документ, подобный этому.CSS перемещает родителя абсолютных детей, когда вы фокусируетесь
Когда происходит какое-либо действие в сети, поле ввода (id = bar, которое скрыто overflow:hidden
) в конечном итоге сфокусировано моим кодом, и оно сдвигает весь мой родительский элемент, поэтому ни один из других элементов управления не отображается. Запустите скрипку внизу для примера.
HTML:
<div class="outer">
<div class="parent">
<div class="child" style="left: 10px; top: 10px; background:red;">Test1</div>
<div class="child" style="left: 10px; top: 52px">Test2<div>
<input class="child" id="bar" style="left: 30px; top: 10px">Test3</div>
</div>
</div>
CSS:
.outer {
width: 32px;
height: 32px;
overflow: hidden;
}
.parent {
position: relative;
}
.child {
position: absolute;
}
JS:
setTimeout(function() {
document.getElementById('bar').focus();
}, 2000);
Примечание: Я установить задержку на тайм-аут низкой. Возможно, вам придется обновить страницу, чтобы увидеть ее.
Fiddle:http://jsfiddle.net/qa28q48o/2/
Как я могу предотвратить это предпочтительно происходит на уровне CSS, без использования каких-либо JavaScript хаков на элемент, чтобы сбросить его свиток.
Что вы думаете, чтобы посмотреть через эту замочную скважину:. .outer { ширина: 32px; высота: 32px; переполнение: скрыто; } ' – Banzay