2010-11-29 30 views
15

Soy realmente nuevo en HTML y me preguntaba cómo centrar enlaces múltiples con html?Cómo centrar enlaces en HTML

He estado tratando:

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

pero el problema es cuando trato de poner otros enlaces detrás de él, por ejemplo:

<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> 

Sólo los coloca en líneas separadas. Creo que esto está sucediendo debido a la función <p> ... pero solo sé HTML, sé que puedes hacerlo en CSS, pero me preguntaba si se puede hacer usando solo HTML.

¡Gracias por cualquier ayuda!

Respuesta

24

hay algunos errores en su código - la primera: que usted havn't cerrado p -tag:

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

siguiente: p significa 'párrafo' y es un elemento de bloque (por lo que está causando un salto de línea). lo que quería utilizar hay una span, cosa que es sólo un elemento en línea, para el formato:

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

pero si sólo desea agregar un estilo a su enlace, ¿por qué no cambiar el estilo de que enlace directo:

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

al final, esto sería al menos html correcta, pero todavía no es exactamente lo que desea, porque text-align:center centra el texto en ese elemento, por lo que tendría que establecer que para el elemento que contiene este enlace (esta pieza f HTML no se ha publicado, por lo que no se puede corregir, pero espero que entienda) - para mostrar esto, voy a utilizar un simple div:

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

EDIT: algunas más adiciones a su pregunta:

  • p no es una 'función', pero tienes razón, esto está causando el problema (porque es un elemento de bloque)
  • lo que estás tratando de utilizar es css - es solo en línea en lugar de colocarse en una sepera archivo de te, pero no están haciendo 'sólo HTML' aquí
+0

La etiqueta de cierre para el elemento de p ** * es * opcional en HTML. – Quentin

+0

Los chicos de abajo también cubrieron tu último punto, así que colectivamente aprendí mucho. ¡Respuesta impresionante! Gracias. – yoshyosh

+0

@david: vale, gracias por la pista, no sabía eso, pero espero que esté de acuerdo conmigo en que tener una etiqueta final es la solución más hermosa. (Además, no sabemos si quería escribir xhtml; en este caso, las etiquetas de cierre no son opcionales) – oezi

2

le ponerlos dentro de un <p> o una muestra <div>

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

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

2

El <p> mostrará en una nueva línea. Trate de envolver todos sus enlaces en un solo <p> etiqueta:

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

Intenté este método, el problema es que no hay espacio entre la búsqueda y contactarnos cuando hago esto. :( – yoshyosh

+0

Tendría que agregar espacio. Creo que Oezi se avergonzará de esto, pero si nada más, puede poner un   (espacio sin interrupción) entre cada elemento 'a'. También podría agregar un estilo = " margin-right: 4px; "para cada elemento 'a'. Existen numerosas formas. Pero hay que implementar al menos uno de ellos para que esto suceda :) – charliegriefer

+0

También me encogerá de vergüenza. Si el contenido no es comprensible cuando el diseño se ha ido, entonces el marcado está mal. – Quentin

4

Puesto que usted tiene una lista de enlaces, usted debe estar marcándolos como una lista (y no como párrafos).

Listamatic tiene a bunch of examples of how you can style lists of links, incluyendo un número que son listas verticales con cada uno de los enlaces centrado (que es lo que parece que está buscando). También tiene a tutorial which explains the principles.

Esa parte del diseño se reduce esencialmente a "Establecer text-align: center en un elemento que se muestra como un bloque que contiene el texto del enlace" (que podría ser el propio anclaje (si lo haces visualizar como un bloque) o el elemento de la lista que lo contiene.

-2

Trate de hacer un elemento nav con un elemento ul. El mío tiene un main anteriormente, pero no creo que lo necesite.

<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> 

El código es algo como esto.
Cuando alguna vez puse i n el código no funcionaría correctamente, por lo que debe completar el espacio en blanco,
y centrarlo.

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

¿Cómo responde esto la pregunta? – cpburnz

+0

@chris: he formateado el código para usted. En el futuro, utilice un prefijo de cuatro espacios en cada línea de sus bloques de código (y patillas para el código en línea). Ver el [historial de revisiones] (http://stackoverflow.com/posts/32975289/revisions) para más detalles. No estoy seguro de qué se supone que significa la última parte de tu respuesta. Estoy diciendo que está destinado a describir el código incorrectamente formateado.Si es así, por favor [edite] su respuesta y elimine los bits que ya no son necesarios. –

-1

Una solución es ponerlos dentro <center>, así:

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

También he creado un jsFiddle para usted: https://jsfiddle.net/9acgLf8e/