209 votes

Pourquoi est la<center>balise déconseillée en HTML ?</center>

Je suis juste curieux de savoir pourquoi l' <center> balise HTML a été déprécié.

L' <center> était un simple moyen de rapidement le centre-alignement des blocs de texte et d'images en encapsulant le récipient dans un <center> tag, et j'ai vraiment ne peut pas trouver un moyen plus simple sur la façon de le faire maintenant.

Quelqu'un sait de toute manière simple sur la façon de centre de "trucs" (pas l' margin-left:auto; margin-right:auto; et la largeur de la chose), quelque chose qui remplace l' <center> ? Et aussi, pourquoi est-il obsolète?

243voto

Jordan Ryan Moore Points 4353

Le `` élément est déconseillé car il définit la présentation de son contenu--il n’est pas décrit son contenu.

Une méthode de centrage consiste à définir le propriété de l’élément à , puis définissez l’élément parent à la propriété . Cela garantit que l’élément sera centré dans tous les navigateurs modernes.

74voto

Peter Boughton Points 49510

HTML est de fournir une structure et un sens au contenu, ce qui devrait être sa seule fonction.

Cependant, il ya un assortiment de balises qui ont été ajoutés dans le passé par des stupides les développeurs de navigateurs, qui violent ce principe de base.

À un certain point, les gens sont venus à leur sens (partiellement au moins), et a commencé à (essayer de) d'accord sur un cahier des charges pour l'écriture de code HTML approprié, de sorte qu'ils obsolète certaines de ces balises.

Toutefois, le dommage a déjà été fait - trop de gens ont appris le HTML que "mettre des balises autour de trucs et de choses qui se passe", plutôt que de comprendre la (important et utile) la distinction entre la sémantique et la présentation, et ces gens-là ont continué à écrire des livres et de tutorat, l'enseignement d'autres personnes dans le mauvais sens à écrire en HTML, qui eux-mêmes ont fait de même, et nous avons terminé avec un droit ancien mess.

Idéalement, l' center balise doit n'avoir jamais existé, parce que les gens devraient avoir souligné qu'il n'est pas "réel", le HTML, et a dit aux concepteurs de navigateur pour revenir en arrière et de le faire correctement.


Et pour le faire correctement... l'alignement est bien sûr une présentation du problème - l'application de mise en page et mise en forme (structuré) en fonction du contenu et de la langue à utiliser pour ce qui est du CSS.

Cependant, encore une fois, stupide développeurs de navigateurs foiré au début CSS - et dans de nombreux cas, les gens en créant des pages web dû à une mauvaise utilisation de HTML, parce que le CSS n'a tout simplement pas de travail.

Ces jours, nous sommes de départ pour obtenir quelques fonctionnalités ont été ajoutées pour le CSS, mais il ya encore beaucoup qui n'est pas mis en œuvre, et un certain nombre de choses qui auraient pu être mis en œuvre dans de loin supérieur façons, mais ils sont maintenant normalisée de sorte que nous sommes coincés avec les anciennes façons de faire.

Si les feuilles de style ont été mis en œuvre par des personnes intelligentes, vous auriez tous les contrôles que vous avez dans tout bon logiciel de bureau - pour l'alignement des blocs et le texte, il avait un travail à l'horizontale, à la verticale, la tête en bas, rotation, et ainsi de suite - et il ne serait pas être fait dans la manière stupide de réglage de la marge gauche/droite pour auto.


Je vais ajouter rapidement, pour être complet, le troisième de "niveau" pour les pages web, qui traite de l'ajout de l'interactivité à une page statique, qui est bien sûr la (mal nommée) de JavaScript.

Encore une fois, ces stupides les développeurs de navigateurs ne savent pas ce qu'ils faisaient. Ils ont choisi un totalement inexact/nom non valide (pour des raisons de marketing), et encore criblé potentiellement un grand et puissant de la langue avec des défauts, manque de fonctionnalité, et créé quelque chose qui a été (jusqu'à récemment) détesté par beaucoup de gens.

Nous avons, bien sûr, dans les dernières années un grand soulèvement des bibliothèques JavaScript qui ont permis de montrer quelques-uns des trucs cool JS a été capable de pour ans, caché beaucoup de navigateur failles qui existent encore dans les navigateurs, et ont partiellement contribué à combler le support de CSS pour le rendre un peu plus utile (encore beaucoup de choses qui manquent tout de même).


Si oui, pour résumer tout ça, la réponse ultime est parce que les éditeurs de navigateurs ont été stupides. :)

17voto

Conrad Meyer Points 2063

Selon W3Schools.com,

L'élément central était obsolète en HTML 4.01, et n'est pas pris en charge en XHTML 1.0 Strict de la DTD.

Le HTML 4.01 spec donne cette raison de la dépréciation de la balise:

L'élément central est exactement équivalente à la spécification de l'élément DIV avec l'attribut align réglé sur "centre".

12voto

Jonathan Sampson Points 121800

Vous pouvez toujours utiliser ce avec XHTML 1.0 Transitional et HTML 4.01 Transitional si vous le souhaitez. La seule autre façon (meilleure façon, à mon avis) est avec marges :

Votre code HTML devrait définir l’élément, pas gouverner sa présentation.

8voto

Carl Smotricz Points 36400

Il est prévu que le balisage, c'est à dire les balises HTML, représentent des sens et de la structure, et non l'apparence. Il a été mal mixé dans les premières versions de HTML, mais les normes de personnes sont en train de nettoyer que jusqu'à maintenant.

Un problème à laisser les balises de contrôle de l'apparence, c'est que vos pages ne sont pas bien jouer avec des dispositifs pour les personnes handicapées, tels que les lecteurs d'écran. Elle conduit également à avoir des tas et des tas de balises dans votre texte qui n'aident pas à clarifier le sens, mais plutôt l'encombrement de l'information à un niveau différent.

Donc, le CSS a été pensé pour déplacer le formatage/affichage dans une autre langue, qui est distinct du texte et peuvent être facilement conservées de cette façon. Entre autres choses, cela permet de changer les feuilles de style pour modifier l'apparence d'une page Web sans toucher aux autres marques. Et pour être en mesure de le faire pour beaucoup de pages en un seul récit foop.

Les outils CSS vous donne pour ce faire ne sont pas toujours élégante, je suis de votre côté. Par exemple, il n'y a aucun moyen de le faire vertical efficace de centrage. Et horizontale de centrage, si ce n'est pas juste le texte se prêtent à l' text-align, n'est pas beaucoup mieux.

Vous avez le choix de faire simple, efficace et confuse ou propre, élégant et lourd. Je ne comprends pas pourquoi les développeurs Web mis en place avec ce gâchis, mais je suppose qu'ils sont heureux d'avoir au moins une chance d'obtenir leur fait des choses.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X