Overflow-y: видимый не работает при переполнении-x: присутствует скрытый - программирование
Подтвердить что ты не робот

Overflow-y: видимый не работает при переполнении-x: присутствует скрытый

Не работает должным образом в Chrome или Firefox. Есть ли способ обхода этого?

   <!DOCTYPE html>
   <html>
   <head></head>
   <body>
    <h3>overflow-y:visible</h3>

    with overflow-x:hidden
    <div style="overflow-x:hidden;overflow-y:visible;width:100px;height:100px;   position:relative;background:#666;">
        <div style="top:20px;left:20px;    width:420px;height:420px;position:absolute;background:#420;">
        </div>
    </div>

    without overflow-x:hidden
    <div style="overflow-y:visible;width:100px;height:100px;position:relative;background:#666;">
        <div style="top:20px;left:20px; width:420px;height:420px;position:absolute;background:#420;">
        </div>
    </div>

   </body>
   </html>

http://jsfiddle.net/sMNyK/

Сценарий реальной жизни включает компоненты, которые обязательно должны иметь overflow-x: hidden, но это вызовет всплывающие меню, которые должны быть способны освободиться от элемента в направлении y. Должен ли я просто позиционировать эти меню вне своих родительских компонентов или есть лучшее исправление?

4b9b3361

Ответ 2

Я думаю, что вы можете получить то, что хотите, с дополнительной упаковкой div, которая скрывает, но не имеет набора position: relative (см. скрипт):

<div style="overflow-y:visible;width:100px;height:100px;position:relative;background:#666;">
    <div style="overflow-x:hidden">
    ooooooooooooooooooooooooooooooooooooooooooooooo  
        <div style="top:20px;left:20px; width:420px;height:420px;position:absolute;background:#420;">
        </div>
    </div>
</div>