Tengo curiosidad por saber por qué la <center>
etiqueta en HTML ha quedado en desuso.
El <center>
era una manera sencilla de forma rápida centro-alineación de bloques de texto e imágenes encapsulando el recipiente en una <center>
etiqueta, y realmente no se puede encontrar ninguna manera más simple de cómo hacerlo ahora.
Alguien sabe de alguna manera simple sobre cómo centrar "cosas" (no lo margin-left:auto; margin-right:auto;
y ancho), algo que reemplaza <center>
? Y también, ¿por qué fue desaprobado?
fuente
margin
comotext-align
no centrarlo en IE, pero envolverlo<center>
funcionó ... Trataré de encontrar un ejemplo.display: block;
en un elemento en línea.De acuerdo con W3Schools.com ,
La especificación HTML 4.01 da esta razón para despreciar la etiqueta:
fuente
Lo que hago es tomar tareas comunes como centrar o flotar y hacer clases CSS de ellas. Cuando hago eso, puedo usarlos en cualquiera de las páginas. También puedo llamar tantos como quiera en el mismo elemento.
Ahora puedo usarlos en mi código HTML para realizar tareas simples.
fuente
Todavía uso la etiqueta <center> a veces porque nada en CSS funciona tan bien. Ejemplos de intentar usar un truco <div> y fallar:
<center> obtiene resultados. Para usar CSS en su lugar, a veces tienes que poner CSS en varios lugares y jugar con él para que se centre bien. Para responder a su pregunta, CSS se ha convertido en una religión con creyentes y seguidores que rechazaron <center> <b> <i> <u> como blasfemia, impía y demasiado simple por el bien de su propia seguridad laboral. Y si intentan quitarle su <table>, pregúnteles cuál es el equivalente CSS del atributo colspan o rowspan.
No es la verdad abstracta o de libro, sino la verdad vivida lo que cuenta.
- Zen
fuente
display:flex; justify-content:center; text-align:center
Todavía puede usar esto con XHTML 1.0 Transitional y HTML 4.01 Transitional si lo desea. La única otra manera (la mejor manera, en mi opinión) es con márgenes:
Su HTML debe definir el elemento, no gobernar su presentación.
fuente
Se pretende que el marcado, es decir, las etiquetas HTML, represente el significado y la estructura, no la apariencia. Estaba mal mezclado en las primeras versiones de HTML, pero las personas estándar están tratando de limpiar eso ahora.
Un problema al permitir que las etiquetas controlen la apariencia es que sus páginas no funcionan bien con dispositivos para discapacitados, como lectores de pantalla. También conduce a tener muchas etiquetas en su texto que no ayudan a aclarar el significado, sino que lo saturan con información de un nivel diferente.
Por lo tanto, CSS fue pensado para mover el formato / visualización a un idioma diferente, que es independiente del texto y se puede mantener fácilmente de esa manera. Entre otras cosas, esto permite cambiar las hojas de estilo para cambiar la apariencia de una página web sin tocar el otro marcado. Y para poder hacer eso por muchas páginas en un tonto.
Las herramientas que CSS le brinda para hacer esto no siempre son elegantes, estoy de su lado allí. Por ejemplo, no hay forma de hacer un centrado vertical efectivo. Y el centrado horizontal, si no se trata solo de texto
text-align
, no es mucho mejor.Tiene la opción de hacerlo de manera fácil, efectiva y confusa o limpia, elegante y engorrosa. No entiendo por qué los desarrolladores web soportan este desastre, pero creo que están contentos de tener al menos la oportunidad de hacer sus cosas.
fuente
HTML está destinado a estructurar datos, no a controlar el diseño. CSS está destinado a controlar el diseño. También encontrará que muchos diseñadores desaprueban el uso
<table>
de diseños por esta misma razón.fuente
Para texto e imágenes puede usar
text-align
:fuente
CSS tiene una
text-align: center
propiedad, y dado que esto es puramente visual, no semántico, debe relegarse a CSS, no a HTML.fuente
text-align
va a alinear el contenido del envase, no el propio contenedortext-align: center
en su elemento padre.<center>
hace ambas cosas . Es molestamente amplio.Alimento para el pensamiento: ¿con qué haría un sintetizador de texto a voz
<center>
?fuente
Puede agregar esto a su CSS y usar
<div class="center"></div>
o si desea conservar
<center></center>
y estar preparado en caso de que alguna vez se elimine, agregue esto a su CSSfuente
La respuesta menos popular
center
es uno de ellos;center
etiqueta no es lo mismo que un div context-align:center
;Permítanme explicarlo porque hay notorios downvoters aquí que pensarán que estoy defendiendo HTML4 de la vieja escuela o algo así. No no soy. Pero el debate
center
es simplemente una guerra de tendencias, no hay una razón real para deshacerse de una etiqueta que sirva bien a un propósito válido.Así que veamos los principales argumentos en contra.
"¡Describe la presentación, no la semántica!"
No. Describe una disposición lógica, y sí tiene una apariencia predeterminada, al igual que otras etiquetas les gusta
<p>
o lo<ul>
hacen. Pero el punto es la relación de la parte cerrada con su entorno. Center dice "esto es algo que separamos por posicionamiento visualmente diferente"."No es válido"
Sí lo es. Simplemente está en desuso, como en, podría eliminarse más tarde . Por más de 15 años ahora. Y aparentemente no va a ninguna parte. Hay sitios importantes que usan esta etiqueta porque es muy legible y va al grano.
"No es compatible con HTML5"
Enrealidad,es una de lasetiquetasmás compatibles .
"Es vieja escuela" Los
cordones también son viejos. Los nuevos métodos no invalidan los viejos. Quieres sentirte progresivo y moderno: bien. Pero no lo conviertas en ley.
"Es estúpido / incómodo / cojo / cuenta una historia sobre ti"
Ninguno de estos. Es como un martillo: una herramienta para un trabajo específico. Hay otras herramientas para el mismo trabajo y otros trabajos para la misma herramienta; pero fue creado para resolver un problema determinado y ese problema aún existe, por lo que podríamos usar una solución dedicada.
"No deberías hacer esto, porque CSS" El CSS
puede lograr absolutamente el centrado, pero esa es solo una forma, no la única, y mucho menos la única adecuada . Cualquier cosa que sea compatible, que funcione y sea legible debería estar bien para usar.
TL; DR:
fuente