Как центрировать текст по вертикали в html, используя только css
У меня очень простой html. из-за некоторых ограничений я не могу изменить содержимое html. Я хочу центрировать текст по вертикали только с помощью css.
<html>
<head>...</head>
<body>
<div>Ops, the webpage is currently not available</div>
</body>
</html>
Обратите внимание, что размер html может быть переменным.
В дополнение, если текст не может отображаться в одной строке, он должен быть разбит на несколько строк.
Возможно ли это?
Ответы
Ответ 1
Я думаю, что vertical-align работает только для контента, который находится в таблице. Для вашей простой страницы вы можете поместить содержимое в таблицу вместо div, чтобы избежать этой проблемы.
Есть некоторые обходные пути, см. http://phrogz.net/css/vertical-align/index.html
Ответ 2
Другое возможное решение:
<html>
<head>
<title>Title</title>
<style>
body {height:100%}
</style>
</head>
<body>
<div style="height:100%;">
<div style="position:relative;top:50%;text-align:center">Ops, the webpage is currently not available</div>
</div>
</body>
</html>
Ответ 3
<html>
<head>...
<style type="text/css">
div{
width: 300px;
height: 300px;
border: solid blue;
display: table-cell;
vertical-align: middle;
}
</style>
</head>
<body>
<div>This works fine!</div>
</body>
</html>
Ответ 4
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
.vertical {
margin: 0;
background: yellow;
position: absolute;
top: 50%;
left: 50%;
margin-right: -50%;
transform: translate(-50%, -50%)
}
</style>
</head>
<body>
<div class="vertical">
Centered
</div>
</body>
</html>
Ответ 5
Для выравнивания содержимого div используйте следующие строки кода
<html>
<head>
</head>
<body>
<i>
<div style="text-align:center;">
Hello
</div>
</i>
</body>
</html>
Ответ 6
Попробуйте следующее:
.text-tag{
text-align:center;
margin-top: 25%;
}
и примените "текст-тег" к тексту, который хотите центрировать.