2012-07-13 12 views
19

Questo è stato chiesto prima da altre persone, ma non ho mai visto una risposta adeguata. Esiste una sostituzione valida per il tag <center>?ricambio per <center>

So che c'è margin: 0 auto;, ma che richiede l'impostazione di una larghezza. C'è anche align="center", ma credo che anche questo sia un codice non valido.

C'è qualcosa di semplice come <center> valido? Ci sono rare occasioni in cui continuo a usarlo, anche se è deprecato. Proprio oggi, ho finito per usare un <center> per centrare l'unico pulsante che era necessario centrare su una pagina web. Sì, avrei potuto impostare la larghezza e averlo dato margin: 0 auto, ma è molto lavoro per centrare un singolo elemento e questo sporca il mio codice, che sono orgoglioso di mantenere ordinato. Non capisco davvero perché <center> sia stato deprecato in primo luogo, se nulla lo ha sostituito.

Grazie!

+0

possibile duplicato di [HTML: ricambio per

] (http://stackoverflow.com/questions/1926864/html-replacement-for-center) –

risposta

24

text-align: center è ciò che si dovrebbe usare. In effetti, il modo ideale è questo:

.center { 
    text-align: center; 
} 
.center > div, .center > table /* insert any other block-level elements here */ { 
    margin-left: auto; 
    margin-right: auto; 
} 

Ovviamente, non è così semplice come si potrebbe sperare.

Personalmente, mi basta usare:

.center {text-align: center;} 
.tmid {margin: 0px auto;} 

Quindi applicare classi dove necessario.

-1

text-align: center è l'equivalente CSS

+2

No. Prova a mettere un elemento a livello di blocco in un '

' e vedi che l'elemento stesso è centrato. –

6

Non è così facile centrare gli elementi senza il tag centrale.

Per questo è necessario fare una soluzione che funziona anche in IE6:

È necessario un wrapper div attorno all'elemento che si desidera essere centrato e utilizzare text-align:center; width:100%. All'interno di questo div viene posizionato un altro div e impostare margin per auto e text-align:left;

<div style="text-align:center; width:100%"> 
    <div style="margin:auto; text-align:left;"> 
     This Container is centered 
    </div> 
</div> 

Se si desidera solo per centrare il testo è possibile utilizzare <p style="text-align:center;"></p>

Questo è il cuore. Per semplificare la cosa, è possibile utilizzare una classe per questo (come Kolink scritto):

CSS:

.center { 
    text-align:center; 
    width:100%; 
} 
.center:first-child { //doesn't work in IE 6 
    margin:auto; 
    text-align:left; 
} 

HTML:

<div class="center"> 
    <div> 
     This Container is centered 
    </div> 
</div> 
0

Il motivo per cui <center> è deprecato è che si tratta non un tag semantico, piuttosto di presentazione e dovremmo evitare di usare qualsiasi cosa in HTML che non sia di natura semantica.

È lo stesso motivo per cui altri elementi di presentazione come <b>, <i> ecc. Sono stati deprecati, poiché esistono modi per ottenere lo stesso risultato nel CSS.

+2

Questa potrebbe essere un'informazione utile, ma non risponde affatto alla domanda. –

-1

questo è PHP-STORM offerta: uso questo:

<div style="text-align: center;"></div> 
0

di ricambio per tag center: (si dovrebbe fare entrambe)

Utilizzare questo stile per elemento genitore:

allineamento del testo: centro;

Utilizzare questo stile per elemento corrente:

margin-left: auto; margin-right: auto;

0
.centered { 
    margin-left: auto !important; 
    margin-right: auto !important; 
} 
* > .centered { 
    text-align: center !important; 
    display: block; 
} 
+0

È preferibile includere del contesto/spiegazione con il codice in quanto ciò rende la risposta più utile per l'OP e per i futuri lettori. – EJoshuaS

1

al centro elementi Io uso questo:

.middlr { 
    display: block; 
    margin: auto; 
} 

opere per ogni/ogni elemento. per me va bene.

0

ho trovato questa risposta su un blog

<img src="bullswithhorns.jpg" alt="Michael with the bull" style="width:150px;height:200px;margin:0px auto;display:block">

Source

Problemi correlati