2010-11-29 35 views
15

Je suis vraiment nouveau au HTML et je me demandais comment vous centrez plusieurs liens avec html?Comment faire pour centrer des liens en HTML

J'ai essayé:

<a href="http//www.google.com"><p style="text-align:center">Search</a> 

Mais le problème est lorsque je tente de mettre d'autres liens derrière par exemple:

<a href="http//www.google.com"><p style="text-align:center">Search</a><a href="Contact Us"><p style="text-align:center">Contact Us</a></p> 

Il les place juste sur des lignes distinctes. Je crois que cela se produit à cause de la fonction <p> ... mais je ne connais que le HTML, je sais que vous pouvez le faire en CSS mais je me demandais si cela pouvait être fait en utilisant simplement du HTML.

Merci pour toute aide!

Répondre

24

il y a des erreurs dans votre code - le premier: vous havn't vous avez fermé p -tag:

<a href="http//www.google.com"><p style="text-align:center">Search</p></a> 

suivant: p signifie « paragraphe » et est un bloc-élément (il est à l'origine un saut de ligne). ce que vous vouliez utiliser il y a un span, Wich est juste un élément en ligne pour la mise en forme:

<a href="http//www.google.com"><span style="text-align:center">Search</span></a> 

mais si vous voulez juste ajouter un style à votre lien, pourquoi ne vous définissez pas le style de cette un lien direct:

<a href="http//www.google.com" style="text-align:center">Search</a> 

à la fin, ce serait au moins correct html, mais toujours pas exactement ce que vous voulez, parce que text-align:center centre le texte dans cet élément, alors vous devez définir que pour la élément que contient ce liens (cette pièce o f html est pas affiché, donc je ne peux pas vous corriger, mais j'espère que vous comprenez) - pour montrer, je vais utiliser un simple div:

<div style="text-align:center">  
    <a href="http//www.google.com">Search</a> 
    <!-- more links here --> 
</div> 

EDIT: quelques autres ajouts à votre question:

  • p n'est pas une « fonction », mais vous avez raison, cela est à l'origine du problème (parce que c'est un bloc-élément)
  • ce que vous essayez d'utiliser est css - c'est juste en ligne au lieu d'être placé dans un sepera fichier te, mais vous ne faites pas 'juste HTML' ici
+0

La balise de fin pour l'élément de p ** est * * optionnel en HTML. – Quentin

+0

Les gars ci-dessous ont également couvert votre dernier point si collectivement j'ai beaucoup appris. Réponse géniale! Merci. – yoshyosh

+0

@david: ok, merci pour l'indice, je ne savais pas cela - mais j'espère que vous êtes d'accord avec moi que d'avoir une étiquette de fin est la plus belle solution. (aussi, nous ne savons pas s'il voulait écrire xhtml - dans ce cas, les balises de fermeture ne sont pas facultatives) – oezi

2

vous les mettre à l'intérieur d'un <p> ou un <div>

<p style="text-align:center"> 
    <a href="http//www.google.com">Search</a> 
    <a href="Contact Us">Contact Us</a> 
</p> 

échantillon: http://jsfiddle.net/X8HM4/1/

2

Le <p> montrera sur une nouvelle ligne. Essayez d'envelopper tous vos liens dans un seul < balise p >:

<p style="text-align:center;"><a href="http//www.google.com">Search</a><a href="Contact Us">Contact Us</a></p> 
+0

J'ai essayé cette méthode, le problème est qu'il n'y a pas d'espace entre la recherche et nous contacter quand je fais cela. :( – yoshyosh

+0

Vous devriez ajouter de l'espacement, je pense que oezi va grincer des dents, mais si rien d'autre, vous pouvez mettre un   (espace insécable) entre chaque élément 'a', vous pouvez également ajouter un style = " margin-right: 4px; "à chaque" un "élément Il y a de nombreuses façons, mais vous devez en implémenter au moins une pour le faire :) – charliegriefer

+0

Je vais aussi me frotter dessus. Si le contenu n'est pas compréhensible lorsque le style a disparu, le balisage est erroné. – Quentin

4

Puisque vous avez une liste de liens, vous devriez les marquer comme une liste (et non comme paragraphes).

Listamatic a a bunch of examples of how you can style lists of links, y compris un nombre qui sont des listes verticales avec chaque lien étant centré (ce qui est ce que vous semblez être après). Il a également a tutorial which explains the principles. Cette partie du style se résume essentiellement à "Définir text-align: center sur un élément qui s'affiche comme un bloc contenant le texte du lien" (qui pourrait être l'ancre elle-même (si vous l'affichez en tant que bloc) ou la élément de la liste contenant.

-2

Essayez de faire un élément nav avec un élément ul. Le mien a un main ci-dessus, mais je ne pense pas que vous en avez besoin.

<main> 
<nav> 
<ul><li><a href="http//www.google.com">search</a> 
<li><a href="http//www.google.com">search</a> 
<li><a href="http//www.google.com">search</a> 

Le code est quelque chose comme ça.
Quand jamais j'ai mis i n le code ne fonctionnerait pas correctement, donc vous devez remplir le vide,
puis le centrer.

main 
nav 
ul> li> a>: href="link of choice":name of link:/a> 
+0

Comment est-ce que cela répond à la question? – cpburnz

+0

@chris: J'ai formaté le code pour vous. À l'avenir, veuillez utiliser un préfixe de quatre espaces sur chaque ligne de vos blocs de code (et des guillemets pour le code en ligne). Voir l'historique des révisions (http://stackoverflow.com/posts/32975289/revisions) pour plus de détails. Je ne suis pas sûr de savoir ce que la dernière partie de votre réponse est censée signifier. Je suis en train de dire qu'il est destiné à décrire le code mal formaté.Si oui, s'il vous plaît [modifier] votre réponse et supprimer les bits qui ne sont plus nécessaires. –

-1

Une solution est de les mettre à l'intérieur <center>, comme ceci:

<center> 
<a href="http//www.google.com">Search</a> 
<a href="Contact Us">Contact Us</a> 
</center> 

J'ai aussi créé un jsFiddle pour vous: https://jsfiddle.net/9acgLf8e/