Поэтому, если я хочу иметь два divs, каждый из 100% всей страницы, бок о бок, учитывая, что оболочка имеет overflow:hidden
, как мне следует ее реализовать?
Я пробовал использовать inline-block
но он не работал.
Я попытался с помощью float
тоже, но это вызвало ошибку.
Я хочу, чтобы второй div был скрыт, поэтому я могу изменить его как анимацию, вроде слайда.
Заранее спасибо!
Это должно быть исключительно вопросом позиционирования одного из разделов с страницы с использованием абсолютного позиционирования и перехода к левому свойству с использованием состояния зависания или javascript.
Наведите красный div.
Если я правильно вас понял, вы можете добиться того, что после использования inline-block
. Вам просто нужно быть немного осторожным с белым пространством (то есть вам нужно убедиться, что у вас нет пробела между двумя дочерними элементами div
). Я остановил div
от упаковки путем установки white-space: nowrap;
,
<div class="foo">
<div> woo woo !</div><div> woo woo !</div>
</div>
.foo {
overflow: hidden;
white-space: nowrap;
}
.foo > div {
display: inline-block;
vertical-align: top;
width: 100%;
background: aqua;
}
.foo > div + div {
background: lime;
}
Попробуйте это на http://jsfiddle.net/8Q3pS/2/.
Изменить: Здесь альтернативная реализация с использованием position: absolute;
: http://jsfiddle.net/8Q3pS/5/. Таким образом, вы сможете анимировать второй, используя left
. Обратите внимание, что вам нужно установить высоту родительского div
.
.foo {
position: relative;
width: 100%;
height: 1.5em;
overflow: hidden;
}
.foo > div {
position: absolute;
top: 0;
left: 0;
width: 100%;
background: aqua;
}
.foo > div + div {
left: 100%;
background: lime;
}
position:relative
?
Не можете ли вы установить максимальную ширину на 100%, а не устанавливать фактическую ширину и плавать рядом? При переполнении: скрытые, поскольку они расширяются, они должны создавать горизонтальные полосы прокрутки.