7
Ich versuche ein quadratisches Element zu erstellen, das sowohl vertikal als auch horizontal zentriert ist. Zusätzlich sollte der gesamte Bereich des Platzes eine Verbindung sein. Das ist mein HTML:Wie zentriert man Text in einem Div-Element?
<div class="w1h1 medium">
<a class="userLink" target="_blank" href="Fancybox.aspx">
<table style="width: 100%; height: 100%">
<tr style="vertical-align: central">
<td style="text-align: center; font-weight: bold;">
text in the middle
</td>
</tr>
</table>
</a>
</div>
Und das ist mein CSS:
div.w1h1 {
width: 150px;
height: 150px;
}
.medium {
background-color: #06849b;
color: white;
font-family: sans-serif;
}
a.userLink
{
width: 150px;
height: 150px;
display: table;
color: #FFFFFF;
text-decoration: none;
}
Es funktioniert in Chrome und Firefox, aber nicht in Internet Explorer. Im IE befindet sich der Text an der Spitze des Quadrats, nicht in der Mitte. Kannst du mir dabei helfen?
ich gerade erstellt Spielplatz hier: http://jsfiddle.net/Tschareck/yfnnm/
Änderung '
Habe das schon versucht. Das hat die Textposition nicht geändert. – Tschareck
Antwort
Sie könnten Ihre Struktur ein wenig, vereinfachen und
display:table-cell
auf dema
Element verwenden.html
css
Demo beihttp://jsfiddle.net/yWLYV/1/
arbeitet bis auf IE8
Quelle
2013-10-09 13:57:29
Das funktioniert in allen Browsern und Code ist elegant. – Tschareck
ändern
<tr style="vertical-align: central">
-<tr style="vertical-align: middle">
unda.userLink
Eigenschaftdisplay
-inline-block
oderinline
.jsfiddle
Quelle
2013-10-09 13:49:26 Morpheus
Das ist es! 'Anzeige' CSS – Tschareck
Aber jetzt funktioniert der Link nicht in IE :( – Tschareck
meine Technik versuchen; folgen Sie diesem
und Morpheus alles in Ordnung! ;)
Quelle
2013-10-09 13:50:14 avalkab
Versuchen Sie mit:
line-height: 150px
, um die Höhe des Inhalts in der Box festzulegen. Dies sollte gut funktionieren, wenn nur eine einzige Zeile Inhalt vorhanden ist.Quelle
2013-10-09 13:50:48 acairns
Verwenden
valign="middle"
im<td>
Beispiel:
Quelle
2013-10-09 13:51:35 SKeurentjes
Versuchen Sie dieses:
HTML:
CSS:
Und ein demo.
Bitte beachten Sie, dass es nur eine Textzeile erlaubt ... ist das ein Problem?
EDIT, um eine bessere Lösung gefunden, zeigen Sie den Anker als Tabellenzelle, funktioniert auch mehrzeilige:
Updated fiddle
Quelle
2013-10-09 14:05:24 LinkinTED
Eine gute Möglichkeit, perfekt zentriert Text zu erhalten, ist ein Flexbox Layout zu verwenden . Sie können horizontal und vertikal zentriert den Inhalt eines Containerelement mit sehr wenig Code:
Demo: http://jsfiddle.net/913fch6v/
Quelle
2015-09-05 21:48:09 bromy
Es funktioniert! Dies sollte akzeptiert werden Antwort! –
Ich stimme zu. Dies sollte die angenommene Antwort sein. Vielen Dank Sie. –
Verwandte Themen