Я хочу разместить элемент <div>
(или <table>
) в центре экрана независимо от его размера. Другими словами, оставшееся пространство «сверху» и «снизу» должно быть одинаковым, а пространство слева «справа» и «слева» должно быть одинаковым. Я бы хотел добиться этого только с помощью CSS.
Я пробовал следующее, но это не работает:
<body>
<div style="top:0px; border:1px solid red;">
<table border="1" align="center">
<tr height="100%">
<td height="100%" width="100%" valign="middle" align="center">
We are launching soon!
</td>
</tr>
</table>
</div>
</body>
Примечание:
в любом случае нормально, если <div>
элемент (или <table>
) прокручивается вместе с сайтом или нет. Просто хочу, чтобы он был по центру при загрузке страницы.
javascript
css
html
Sumit
источник
источник
Ответы:
Простой способ, если у вас фиксированная ширина и высота:
Пожалуйста, не используйте встроенные стили! Вот рабочий пример http://jsfiddle.net/S5bKq/ .
источник
Поскольку в наши дни преобразования поддерживаются повсеместно, вы можете делать это, не зная ширины / высоты всплывающего окна.
Легко! JSFiddle здесь: http://jsfiddle.net/LgSZV/
Обновление: ознакомьтесь с https://css-tricks.com/centering-css-complete-guide/ для получения довольно исчерпывающего руководства по центрированию CSS. Добавьте его к этому ответу, так как он, кажется, привлекает много внимания.
источник
overflow:auto
, прокрутка в IE9 не работает. :(Установите ширину и высоту, и все готово.
Если вы хотите, чтобы размеры элементов были гибкими (и вам не нужны устаревшие браузеры), воспользуйтесь ответом XwipeoutX .
источник
Подойдет для любого объекта. Даже если вы не знаете размер:
источник
Теперь с HTML 5 и CSS 3 стало проще:
источник
Если у вас есть фиксированное
div
абсолютное положение, оно составляет 50% от верхнего края и 50% слева, а отрицательное поле сверху и слева от половины высоты и ширины соответственно. Приспособьтесь к вашим потребностям:источник
Используйте flex . Намного проще и будет работать независимо от вашего
div
размера:источник
Я бы сделал это в CSS:
затем в HTML:
источник
попробуй это
Или это
источник
Если кто-то ищет решение,
Я нашел это,
Это лучшее решение, которое я нашел!
http://dabblet.com/gist/2872671
Надеемся, вам понравится!
источник
Еще один простой гибкий подход к отображению блока по центру: использование собственного выравнивания текста с помощью
line-height
иtext-align
.Решение:
И образец html:
Мы делаем
div.parent
полноэкранный режим, а его единственный дочернийdiv.child
элемент выравнивается как текст сdisplay: inline-block
.Преимущества:
Простой пример на JSFiddle: https://jsfiddle.net/k9u6ma8g
источник
Альтернативное решение, которое не использует абсолютную позицию:
я вижу много абсолютных ответов на позицию. Я не мог использовать абсолютное положение, не нарушая чего-то еще. Итак, для тех, кто тоже не смог, вот что я сделал:
https://stackoverflow.com/a/58622840/6546317 (опубликовано в ответ на другой вопрос).
Решение фокусируется только на вертикальном центрировании, потому что мои дочерние элементы уже были центрированы по горизонтали, но то же самое можно было бы применить, если бы вы не могли центрировать их по горизонтали другим способом.
источник
попробуй это:
источник