Решение:
Набор .popup-content { width: 100%; }
и гнездо ваше содержание в другой DIV display: table; margin: 0 auto;
JSFIDDLE DEMO
Объяснение:
Ваш центрируется ДИВ .popup-content
имеет атрибут left: 50%
, что означает это будет оставьте левую половину своего родительского пустого. Это означает, что div устанавливает свою собственную ширину во всю ширину родительского элемента, который остается, хотя он будет равен 50%.
Например, если вы установили .popup-content
с шириной до left: 30%
, он будет использовать ширину своих родителей 70%
.
Ваш второй атрибут css transform: translate(-50%, -50%);
только перемещает весь div без изменения (или влияния) его ширины.
CSS вывод:
Я предполагаю, что вы хотите быть ДИВ только как большой по мере необходимости и по центру и по горизонтали и по вертикали. Если то правильно, Херес шаг за шагом решение:
Как ваш CSS делает хорошую работу центрирования ее в вертикальном положении, вы можете сохранить это, а просто установить его ширину до 100%:
.popup-content {
position: absolute;
top: 50%;
width: 100%;
transform: translate(0%, -50%);
}
Далее вы может гнездиться ваше содержание внутри других дел до центра его в горизонтальном положении с помощью display: table;
.popup-center-horizontal {
display: table;
margin: 0 auto;
background: red;
}
Вы можете проверить рабочее демо прямо здесь JSFIDDLE DEMO.
Если вы не хотите, чтобы ваш ДИВ достичь стороны, вы можете установить max-width
, чтобы ограничить его размер, например:
.popup-center-horizontal {
max-width: 90%;
}
Работы по IE8 +.
Потому что вы даете '.tabs' и' .tabs-content' фиксированную ширину. – NiZa
Даже с текстом без html не работает так хорошо. С свойством 'width' это нормально. Например: [https://jsfiddle.net/qh13mnaf/2/](https://jsfiddle.net/qh13mnaf/2/) Я понимаю, что ширина основана на устройстве, но на моем планшете я должен много места между концом экрана и всплывающим окном. Как сделать ширину всплывающего окна шириной самого длинного элемента: например, заголовок –
Можете ли вы добавить jQuery в свой код?Хотя: вы хотите, чтобы div был горизонтальным и вертикальным, и хотя бы был точным, насколько это необходимо для отображения содержимого в нем (не больше)? –