Je suis simplement curieux de savoir pourquoi <center>
balise en HTML a été déconseillée.
Le <center>
était un moyen simple de blocs rapidement alignement centre de texte et d' images en encapsulant le conteneur dans une <center>
étiquette, et je ne peux pas trouver un moyen plus simple sur la façon de le faire maintenant.
Quelqu'un sait-il une façon simple de centrer les "trucs" (pas la margin-left:auto; margin-right:auto;
chose et la largeur), quelque chose qui remplace <center>
? Et aussi, pourquoi a-t-il été déprécié?
la source
margin
ettext-align
n'a pas centré mon élément dans IE, mais le boucler avec<center>
a fonctionné ... Je vais essayer de trouver un exemple.display: block;
sur un élément en ligne.Selon W3Schools.com ,
La spécification HTML 4.01 donne cette raison pour déprécier la balise:
la source
Ce que je fais, c'est prendre des tâches courantes comme le centrage ou le flottement et en faire des classes CSS. Lorsque je le fais, je peux les utiliser sur n'importe quelle page. Je peux aussi en appeler autant que je veux sur le même élément.
Maintenant, je peux les utiliser dans mon code HTML pour effectuer des tâches simples.
la source
J'utilise toujours la balise <center> parfois parce que rien dans CSS ne fonctionne aussi bien. Exemples d'utilisation d'une astuce <div> et d'un échec:
<center> obtient des résultats. Pour utiliser CSS à la place, vous devez parfois mettre CSS à plusieurs endroits et jouer avec lui pour le centrer à droite. Pour répondre à votre question, le CSS est devenu une religion avec des croyants et des adeptes qui ont évité <center> <b> <i> <u> comme un blasphème, impie et beaucoup trop simple pour leur propre sécurité d'emploi. Et s'ils essaient de vous retirer votre <table>, demandez-leur quel est l'équivalent CSS de l'attribut colspan ou rowspan.
Ce n'est pas la vérité abstraite ou livresque, mais la vérité vécue qui compte.
- Zen
la source
display:flex; justify-content:center; text-align:center
Vous pouvez toujours l'utiliser avec XHTML 1.0 Transitional et HTML 4.01 Transitional si vous le souhaitez. La seule autre façon (la meilleure façon, à mon avis) est avec des marges:
Votre code HTML doit définir l'élément et non régir sa présentation.
la source
Il est prévu que le balisage, c'est-à-dire les balises HTML, représente le sens et la structure, pas l'apparence. Il a été mal mélangé dans les premières versions de HTML, mais les normes essaient de le nettoyer maintenant.
Le fait de laisser les balises contrôler l'apparence pose un problème: vos pages ne fonctionnent pas bien avec des appareils pour handicapés, tels que des lecteurs d'écran. Cela conduit également à avoir beaucoup, beaucoup de balises dans votre texte qui n'aident pas à clarifier le sens, mais l'encombrent plutôt avec des informations d'un niveau différent.
CSS a donc été conçu pour déplacer la mise en forme / l'affichage dans une langue différente, qui est distincte du texte et peut facilement être conservée de cette façon. Entre autres choses, cela permet de changer de feuille de style pour changer l'apparence d'une page Web sans toucher l'autre balisage. Et pour pouvoir faire ça pour beaucoup de pages en un seul coup de houle.
Les outils que CSS vous donne pour ce faire ne sont pas toujours élégants, je suis de votre côté. Par exemple, il n'y a aucun moyen d'effectuer un centrage vertical efficace. Et le centrage horizontal, s'il ne s'agit pas uniquement de texte
text-align
, n'est pas beaucoup mieux.Vous avez le choix de faire facile, efficace et confus ou propre, élégant et encombrant. Je ne comprends pas pourquoi les développeurs Web supportent ce gâchis, mais je suppose qu'ils sont heureux d'avoir au moins une chance de faire leur travail.
la source
HTML est destiné à structurer des données, pas à contrôler la mise en page. CSS est destiné à contrôler la mise en page. Vous constaterez également que de nombreux concepteurs désapprouvent l'utilisation
<table>
des mises en page pour cette même raison.la source
Pour le texte et les images, vous pouvez utiliser
text-align
:la source
CSS a une
text-align: center
propriété, et puisque c'est purement visuel, pas sémantique, il devrait être relégué en CSS, pas en HTML.la source
text-align
alignera le contenu du conteneur, pas le conteneur luitext-align: center
sur son élément parent.<center>
fait les deux . C'est énormément large.Matière à réflexion: que ferait un synthétiseur de synthèse vocale
<center>
?la source
Vous pouvez l'ajouter à votre CSS et l'utiliser
<div class="center"></div>
ou si vous souhaitez conserver
<center></center>
et être prêt au cas où il serait supprimé, ajoutez ceci à votre cssla source
La réponse la moins populaire
center
est l'un d'entre eux;center
balise n'est pas la même chose qu'une div avectext-align:center
;Permettez-moi de vous expliquer car il y a des downvoters notoires ici qui penseront que je défends HTML4 oldschool ou quelque chose. Non, je ne suis pas. Mais le débat autour
center
est simplement une guerre de tendance, il n'y a aucune vraie raison de laisser tomber une étiquette qui sert bien un but valable.Voyons donc les principaux arguments contre.
"Il décrit la présentation, pas la sémantique!"
Non. Il décrit un arrangement logique - et oui a une apparence par défaut, tout comme les autres balises aiment
<p>
ou<ul>
font. Mais le point est la relation de la partie fermée à son environnement. Le centre dit "c'est quelque chose que nous séparons par un positionnement visuellement différent"."Ce n'est pas valable"
Oui, c'est vrai. Il est juste obsolète, comme dans, pourrait être supprimé plus tard . Depuis 15+ ans maintenant. Et ça ne va nulle part, apparemment. Il existe des sites majeurs qui utilisent cette balise car elle est très lisible et précise.
"Il n'est pas pris en charge en HTML5"
C'est en fait l'une desbalisesles plus largement prises en charge.
"C'est oldschool" Les
lacets sont aussi oldschool. Les nouvelles méthodes n'invalident pas les anciennes. Vous voulez vous sentir progressif et moderne: bien. Mais n'en faites pas la loi.
"C'est stupide / maladroit / boiteux / raconte une histoire sur vous"
Aucun de ceux-ci. C'est comme un marteau: un outil pour un travail spécifique. Il existe d'autres outils pour le même travail et d'autres travaux pour le même outil; mais il a été créé pour résoudre un certain problème et ce problème est toujours là donc nous pourrions aussi bien utiliser une solution dédiée.
"Vous ne devriez pas faire ça, parce que CSS" Le
centrage peut absolument être réalisé par CSS mais ce n'est qu'une façon, pas la seule, encore moins la seule appropriée . Tout ce qui est pris en charge, fonctionnel et lisible devrait être correct à utiliser.
TL; DR:
la source