Я пытаюсь создать всплывающее окно в своем приложении, и мне нужно центрировать его по вертикали. Я НЕ знаю высоту всплывающего окна, поэтому я не могу жестко кодировать любые значения.Проблемы с переполнением с центрированным всплывающим окном на маленьком экране
Я экспериментировал со следующим кодом: Centering in the Unknown
Пока центрирование работает отлично, но есть проблема. Мои всплывающие окна имеют фиксированную ширину (и они не реагируют), поэтому моя цель заключается в том, что ширина окна меньше ширины всплывающего окна, должен появиться горизонтальный scroolbar.
С высоким разрешением центрирования работает отлично:
Но когда разрешение окна ниже всплывающее разрешения, это происходит: (Фактическое всплывающее окно перемещаются под видовым)
.block {
text-align: center;
background: #c0c0c0;
border: #a0a0a0 solid 1px;
position: fixed;
top: 0;
bottom: 0;
right: 0;
left: 0;
}
.block:before {
content: '';
display: inline-block;
height: 100%;
vertical-align: middle;
}
.centered {
display: inline-block;
vertical-align: middle;
width: 500px;
padding: 10px 15px;
border: #a0a0a0 solid 1px;
background: #f5f5f5;
}
<div class="block">
<div class="centered">
<h1>Some text</h1>
<p>But he stole up to us again, and suddenly clapping his hand on my shoulder, said—"Did ye see anything looking like men going towards that ship a while ago?"</p>
</div>
</div>
Привет. Спасибо за хороший ответ, но есть некоторые проблемы. С первым я хотел бы, чтобы на низком разрешении высота была скребком, но из-за отрицательного преобразования половина содержимого скрыта в верхней части страницы. При втором подходе из-за высоты: 100%, если всплывающее окно имеет высоту 500 пикселей, а высота окна - 300 пикселей, обертка будет 500 пикселей, поэтому полоса прокрутки не может появиться :( – Deepsy
@Deepsy см. Это [обновленная демонстрация] (http : //jsfiddle.net/LejLn8Lr/1/), если это работает. – Stickers
спасибо за ответ. К сожалению, http://puu.sh/iIp5M/bd2210565e.png это происходит (не вся область видима). – Deepsy