7
Sto provando a creare un elemento quadrato, che avrà il testo centrato sia verticalmente che orizzontalmente. Inoltre, l'intera area del quadrato dovrebbe essere un collegamento. Questo è il mio HTML:Come centrare il testo in un elemento div?
<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>
E questo è il mio 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;
}
Funziona in Chrome e Firefox, ma non in Internet Explorer. In IE il testo è nella parte superiore del quadrato, non nel mezzo. Puoi aiutarmi con questo?
Ho appena creato un parco giochi qui: http://jsfiddle.net/Tschareck/yfnnm/
cambiamento '
Già provato. Questo non ha cambiato la posizione del testo. – Tschareck
risposta
Si potrebbe semplificare la struttura un po ', e utilizzare
display:table-cell
sull'elementoa
.html
css
Demo ahttp://jsfiddle.net/yWLYV/1/
lavora fino a IE8
fonte
2013-10-09 13:57:29
Che funziona su tutti i browser e il codice è elegante – Tschareck
Change
<tr style="vertical-align: central">
-<tr style="vertical-align: middle">
ea.userLink
proprietàdisplay
-inline-block
oinline
.jsfiddle
fonte
2013-10-09 13:49:26 Morpheus
Questo è tutto! 'display' CSS – Tschareck
Ma ora il collegamento non funziona in IE :( – Tschareck
provare la mia tecnica; segui questo
e morfema tutto bene! ;)
fonte
2013-10-09 13:50:14 avalkab
Provare a utilizzare:
line-height: 150px
per impostare l'altezza del contenuto all'interno della casella. Questo dovrebbe funzionare bene se c'è solo una singola riga di contenuto.fonte
2013-10-09 13:50:48 acairns
Usa
valign="middle"
nel<td>
Esempio:
fonte
2013-10-09 13:51:35 SKeurentjes
provare questo:
HTML:
CSS:
E un demo.
Si noti che consente solo una riga di testo ... è un problema?
EDIT, ha trovato una soluzione migliore, visualizzare l'ancoraggio come una cella di tabella, lavora su più righe troppo: il testo
Updated fiddle
fonte
2013-10-09 14:05:24 LinkinTED
Un ottimo modo per ottenere perfettamente centrato è quello di utilizzare un layout FlexBox . È possibile orizzontalmente e verticalmente centrare il contenuto di un elemento contenitore con pochissimo codice:
Demo: http://jsfiddle.net/913fch6v/
fonte
2015-09-05 21:48:09 bromy
Funziona! Questa risposta dovrebbe essere accettata! –
Sono d'accordo, questa dovrebbe essere la risposta accettata. tu. –
Problemi correlati