2012-07-13 25 views
19

Zostało to wcześniej zadane przez inne osoby, ale nigdy nie widziałem odpowiedniej odpowiedzi. Czy istnieje ważny zamiennik znacznika <center>?Zamiennik dla <center>

Wiem, że jest margin: 0 auto;, ale wymaga to ustawienia szerokości. Jest też align="center", ale uważam, że jest to również nieprawidłowy kod.

Czy jest coś tak prostego, jak <center>, które jest prawidłowe? Są rzadkie sytuacje, w których nadal używam go, mimo że jest przestarzały. Właśnie dzisiaj skończyło się używanie <center> do wyśrodkowania jednego przycisku, który był potrzebny na stronie internetowej. Tak, mogłem ustawić szerokość i nadać jej margin: 0 auto, ale to dużo pracy dla centrowania jednego elementu, a to psuje mój kod, który z dumą utrzymuję porządek. Naprawdę nie rozumiem, dlaczego <center> został najpierw wycofany, jeśli nic go nie zastąpiło.

Dzięki!

+0

możliwe duplikat [HTML: Zamiennik dla

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

Odpowiedz

24

text-align: center co należy używać. W rzeczywistości jest to idealny sposób:

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

Oczywiście nie jest to takie proste, jak można by się spodziewać.

Osobiście po prostu użyć:

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

Następnie nałożyć zajęcia w razie potrzeby.

-1

text-align: center jest odpowiednikiem CSS

+2

Nie. Spróbuj wstawić element blokowy w '

' i zobaczysz, że sam element jest wyśrodkowany. –

6

Nie jest łatwo wyśrodkować elementy bez znacznika środka.

Do tego trzeba zrobić obejście, które działa nawet w IE6:

Musisz otoki div wokół elementu chcesz być wycentrowane i używać text-align:center; width:100%. Wewnątrz ten dział umieścić inny div i ustawić margin na auto i text-align:left;

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

Jeśli tylko chcesz wyśrodkować tekst można użyć <p style="text-align:center;"></p>

To jest sedno. Aby uprościć rzeczy, można użyć klasy za to (jak Kolink napisał):

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

Powodem <center> jest przestarzała jest to, że nie znacznik semantyczny, raczej prezentacyjny i powinniśmy unikać używania czegokolwiek w języku HTML, który nie ma charakteru semantycznego.

Jest to ten sam powód, dla którego inne elementy prezentacyjne, takie jak <b>, <i> itp. Zostały uznane za przestarzałe, ponieważ istnieją sposoby na osiągnięcie tego samego w CSS.

+2

To może być przydatna informacja, ale w ogóle nie odpowiada na pytanie. –

-1

to jest PHP-STORM oferta: użyj:

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

Zamiennik dla tagu centrum: (Należy zrobić zarówno)

użyć tego stylu dla elementu nadrzędnego:

wyrównywanie tekstu: centrum;

Użyj tego stylu dla bieżącego elementu:

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

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

Lepiej uwzględnić kontekst/wyjaśnienie za pomocą kodu, ponieważ dzięki temu odpowiedź jest bardziej użyteczna dla OP i przyszłych czytelników. – EJoshuaS

1

centrum elementy używam to:

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

prace dla każdego/dowolny element. pracuje dla mnie.

0

Znalazłem odpowiedź na blogu

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

Source