2011-05-20 14 views
6

tengo esta estructura:CSS text-align el elemento inline-block

<div class="father"> 
This string is left-aligned 
<div class="divToCenter" style="display:inline-block;"> 
    //contains other divs.I used inline block for making this div as large as 
    //content ATTENTION: its width is not fixed! 
</div> 

</div> 

¿Cómo podría decir:

Dame sólo la clase denominada "divToCenter" centrada en el div "padre" .

Gracias

Luca

+0

Necesita un poco de explicación ... – Murugesh

+0

Divs siempre se extienden para acomodar su contenido, en la medida de su padre directo. No es necesario 'display: inline-block;' – Krimo

+0

div padre es más grande y su ancho es fijo, por lo que divToCenter tiende a expandirse al ancho de su padre – luca

Respuesta

3
#left {float: left; background: #eee; width: 200px; /* width is optional */} 
#content {overflow: hidden; text-align: center;} 


<div class="father"> 
<div id="left">This string is left-aligned</div> 
<div id="content"> 
    //contains other divs.I used inline block for making this div as large as 
    //content 
</div> 
</div> 

flotador la cadena alineado a la izquierda o bloque a la izquierda, luego con overflow:hidden sobre el contenido yo t ocupará automáticamente el espacio restante y puede text-align cómo

o bien convertir el contenido izquierdo en un bloque en línea para que el contenido y el uno al lado del otro puedan alinearse con el texto inline-block por separado

+0

yeap Gracias! También guardé la solución "envolver-alineado-alineado a la izquierda" como último recurso. Pensé que debería ser un selector CSS para usar mi propia estructura sin más modificación, pero creo que estaba equivocado =) – luca

+0

Veo el ejemplo del violín que ha dejado en un comentario sobre otra respuesta y sí, creo que ajustar la alineación a la izquierda sería la mejor respuesta - http://jsfiddle.net/clairesuzy/ ea47e/6/- no puede orientar la parte del "nodo de texto" de la div padre de ninguna otra manera – clairesuzy

2
div.divToCenter 
{ 
margin: 0 auto; 
} 
+0

necesita texto dentro del div para estar centrado como text align o quiere el div mismo estar centrado? Son 2 cosas diferentes! – Jawad

+0

Quiero que el div se centre .. (por cierto, el div es el tamaño real de su contenido ... el contenido no se puede alinear) – luca

+0

@ JAA149 También probé su consejo antes, pero no funciona ... Agregué "! Importante" para hacer seguro que no está ocurriendo la anulación ... Si aplico la propiedad "text-align" a div padre, tengo todo el texto (incluido divToCenter) centrado ... pero solo quiero que div en el centro – luca

1
.father { text-align: center; } 
.father div.divToCenter { margin: 0 auto; } 

Actualización:

.father { text-align: left; } 
.father div.divToCenter { width:Xpx; margin: 0 auto; } 
+0

como escribí arriba Si aplico el "texto" -align "property to father div Tengo todo el texto (incluido divToCenter) centrado ... pero solo quiero el div en el centro ... – luca

+0

He actualizado mi publicación, esperando cumplir con sus requisitos, simplemente establezca el ancho de la propiedad del div interno para asegurarse de que el margen automático esté activado. – Mousa

+0

El ancho del divToCenter es dinámico ... no está arreglado ... ¡gracias! Creo que usaré la solución "envolver el contenido izquierdo" – luca

Cuestiones relacionadas