2011-12-05 11 views
67

que tienen algo de HTML:HTML span alinear centro no funciona?

<div align="center" style="border:1px solid red"> 
This is some text in a div element! 
</div> 

La Div está cambiando el espaciado en mi documento, por lo que quiero usar un lapso de este lugar.

Pero lapso no está centralizando el contenido:

<span style="border:1px solid red;align=center"> 
This is some text in a div element! 
</span> 

¿Cómo puedo solucionar esto?

EDIT:

Mi código completo:

<html> 
<body> 

<p>This is a paragraph. This text has no alignment specified.</p> 

<span style="border:1px solid red;text-align=center"> 
    This is some text in a div element! 
</span> 

</body> 
</html> 
+1

Su div es "cambiando el espaciado"? ¿Qué quiere decir con esto? Y su lapso no será porque por defecto es un elemento _inline_, mientras que un div es un elemento de nivel _block_. – Bojangles

+0

Hola JamWaffles, por "espacio" me refiero a que el div agrega espacio por encima y por debajo del contenido. El lapso no hace esto. – David19801

+0

Use Firebug o el inspector de Chrome para ver qué reglas de CSS se aplican a su elemento y busque el que agregue relleno o margen. También es posible que los elementos circundantes tengan relleno/margen. – Bojangles

Respuesta

126

Un div es un elemento de bloque, y abarcará el ancho del contenedor a menos que se establezca un ancho. Un tramo es un elemento en línea y tendrá el ancho del texto dentro de él. Actualmente, intenta establecer alinear como una propiedad de CSS. Align es un atributo.

<span align="center" style="border:1px solid red;"> 
    This is some text in a div element! 
</span> 

Sin embargo, el atributo de alineación está en desuso. Debe usar la propiedad CSS text-align en el contenedor.

<div style="text-align: center;"> 
    <span style="border:1px solid red;"> 
     This is some text in a div element! 
    </span> 
</div> 
+18

Por favor, no use 'align =" center "' porque está en desuso. – Biotox

+42

@Biotox ¿leyó la respuesta completa? – Will

+3

Sí, pero ni siquiera lo pondría como una opción ... – Biotox

19

está en desuso El atributo align. Use CSS text-align en su lugar. Además, el lapso no centrará el texto a menos que use display:block o display:inline-block y establezca un valor para el ancho, pero luego se comportará igual que un div (elemento de bloque).

¿Puedes publicar un ejemplo de tu diseño? Use www.jsfiddle.net

+0

Esta debería ser la respuesta correcta –

+0

¡Funcionó de maravilla! Gracias. – dallinchase

+0

¿No puedo alinear dos elementos en línea de forma diferente mientras los mantengo en línea? –

35

Utilice el siguiente estilo. margin:auto normalmente se usa para centrar el contenido. display:table se necesita para span elemento

<span style="margin:auto; display:table; border:1px solid red;"> 
    This is some text in a div element! 
</span> 
0

Span es inline-block y se ajusta a inline tamaño del texto, con una tenacidad que bloquea la mayoría de los esfuerzos para el estilo de línea fuera de contexto. Para simplificar el estilo de diseño (conflictos de límite), agregue div a la etiqueta 'p' con salto de línea.

<p> some default stuff 
<br> 
<div style="text-align: center;"> your entered stuff </div> 
-2

Solo use word-wrap:break-word; en el css. Funciona.

6
span.login-text { 
font-size: 22px; 
display:table; 
margin-left: auto; 
margin-right: auto; 

}

<span class="login-text">Welcome To .....CMP</span> 

Para mí funcionó muy bien. probar esto también

0

En la parte superior de todas las otras explicaciones, creo que está utilizando la misma "=" señal, en lugar de dos puntos ":":

<span style="border:1px solid red;text-align=center"> 

que debe ser:

<span style="border:1px solid red;text-align:center"> 
Cuestiones relacionadas