
ryyst
Ich habe welche Ja wirklich grundlegendes HTML & CSS:
header {
vertical-align: middle;
height: 60px;
background-color: #00F;
}
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<link rel="stylesheet" media="all" href="https://stackoverflow.com/questions/5442226/stylesheet.css">
<title>Hello, World!</title>
</head>
<body>
<header>
Hello<sup>World</sup>
</header>
</body>
</html>
Aber der Text wird nicht in der Mitte ausgerichtet. Warum nicht?

clairesuzy
Das vertical-align
Eigentum gilt nur für:
Inline-Level- und ‘Table-Cell’-Elemente
Sehen dieser Link.
Du könntest benutzen line-height
Um den Text vertikal zu zentrieren, machen Sie ihn einfach größer als der eigentliche font-size
ist jedoch nur wirksam, wenn sich der Text über eine einzelne Zeile erstreckt.
Alternativ könntest du hinzufügen padding
an der Ober- und Unterseite der header
Element durch gleiche Werte.
Bearbeitet gemäß Kommentar: die offensichtliche Lösung bei Verwendung von HTML5 header
Element wäre, es zu machen display: table-cell;
Anstelle des Standardblocks, von dem ich denke, dass die zurückgesetzten CSS gelten.
Flexbox kann dies jetzt ziemlich einfach tun:
header {
display: flex;
align-items: center;
justify-content: center;;
}
http://codepen.io/anon/pen/waYBjv
Versuchen Sie dies, funktioniert sehr gut für mich:
/* Internet Explorer 10 */
display:-ms-flexbox;
-ms-flex-pack:center;
-ms-flex-align:center;
/* Firefox */
display:-moz-box;
-moz-box-pack:center;
-moz-box-align:center;
/* Safari, Opera, and Chrome */
display:-webkit-box;
-webkit-box-pack:center;
-webkit-box-align:center;
/* W3C */
display:box;
box-pack:center;
box-align:center;

Saurabh Gökhale
Das vertical-align
-Attribut gilt nur für Inline-Elemente. Es hat keine Auswirkung auf Elemente auf Blockebene, wie ein div oder einen Absatz. Wenn Sie ein Inline-Element vertikal in der Mitte ausrichten möchten, verwenden Sie einfach dies.
vertical-align: middle;
Schau dir hier mehr an: Grundlegendes zur vertikalen Ausrichtung oder „Wie man Inhalte vertikal (nicht) zentriert“

Marcel
vertical-align
funktioniert nicht so, wie du denkst, dass es in elements with funktioniert display:block
. Die Leute verwenden normalerweise nur zum Beispiel line-height:60px
wenn der Text das einzige Element im Element ist und alles in derselben Zeile bleibt.
Wenn mehr Zeug hineingeht, ist es wahrscheinlich besser, dem Container eine Höhe zu geben, wenn Sie unbedingt müssen, und den Rand / die Polsterung / etc. zu optimieren. von Elementen innerhalb des enthaltenden Elements, bis es richtig aussieht.

brillant
Wenn Sie keine Tabelle verwenden möchten, können Sie vertical-align:middle und display:inline-block verwenden, während Sie ein leeres Inline-Element mit 100% Höhe verwenden:
http://jsfiddle.net/ycugZ/
<!DOCTYPE><html><body> <!-- Author: brillout.com -->
<div style="height: 300px;border: 1px solid black;text-align:center">
<div class="i">vertical-align + inline-block<br>trick<br>in action</div>
<div class="i" style="height:100%;width:0px"></div>
</div>
<style> div.i{ display: inline-block; vertical-align: middle } </style>
</body></html>

Mahesh Cheliya
<div style="border:1px solid #000;height:200px;position: relative;">
<div style="position: absolute;top: 50%;left:50%;">
hello mahesh
</div>
</div>
Geige-Demo
Versuche dies.
10172300cookie-checkText in CSS vertikal ausrichtenyes