2012-01-27 82 views
5

Tengo problemas para centrar un botón flotante entre otros dos botones flotantes.Centrar un botón flotante entre dos botones flotantes (dimensiones de líquido)

Parece que este hasta el momento:

jQuery buttons; need to center Button B

El CSS es bastante básico en este punto:

A { 
    float: left; 
} 
B { 
    float: left; 
} 
C { 
    float: right; 
} 

Nota: El botón A se coloca a la izquierda más extrema en una la página y el botón C es el más correcto. B debería estar en el medio (esa es la idea, de todos modos).

Sé que no hay un valor de 'centro' para el flotador. Y he leído algunas otras soluciones para este problema. Pero la mayoría de ellos implica establecer un ancho específico en un envoltorio div, que no es una solución ideal, imo, para un diseño de diseño líquido. Si tiene que ajustar el botón, no estoy seguro de cómo es mejor que usar el posicionamiento directo.

De cualquier manera, estoy buscando una solución con un enfoque de diseño líquido.

También intenté lo siguiente pero no funcionó.

B { 
    position: relative; 
    left: 0; 
    right: 0; 
} 

Cualquier ayuda sería muy apreciada. Muchas gracias.

+1

Los botones A y B son correctas como son; ¿es tu intención poner el botón B en el medio? No creo que se vea bien. ¿Por qué no simplemente flotar el botón C a la izquierda? –

+0

Sí, gracias. Mi intención es poner el botón B en el medio. Debería haber especificado que la imagen de arriba es el ancho de una página. Por favor, permítame rehacerlo. – user717236

+1

Creo que mi respuesta será la misma; deberías poner tus botones en su div y flotarlos todos a la izquierda. –

Respuesta

14

¿Qué tal si pones text-align: center; en su contenedor y no flotas B en absoluto?

(estoy asumiendo que es un elemento en línea, si no también hacer display: inline-block; en B)

+2

+1 Funciona http://jsfiddle.net/xNBxQ/1/ - Nice One –

+1

** + 1 ** Seguramente mejor que el mío :) –

+0

¡Gracias! ¡Gracias! ¡Gracias! ¡Hombre! – inser

4

Mi solución:

http://jsfiddle.net/UWNTM/1/

espero que ayude.

Básicamente, he usado tres contenedores para elementos:

.button_wrapper { 
    float: left; 
    width: 33%; 
} 

Y luego el botón colocado dentro de ellos utilizando inline text-align propiedad.

+2

Podría usar 33%, 34%, 33%. –

1

prueba este código HTML:

<div class="left">1</div> 
<div class="right">3</div> 
<div class="center">2</div> 

con este código CSS:

.left { float: left; } 
.right {float: right; } 
.center { margin-left: 50%; } 
1

Se puede usar para este display:table-cell. Aunque creo que otras respuestas son probablemente mejores, es bueno tener soluciones alternativas.

http://jsfiddle.net/bES7Q/

<div> 
    <span>a</span> 
    <span>b</span> 
    <span>c</span> 
</div> 

div { width: 100%; display: table; } 
span { 
    border: 1px solid gray; 
    display: table-cell; 
    width: 1%; 
} 
span:nth-of-type(2) { 
    width: 99%; 
    text-align: center; 
} 
1

Lo hice con botones de navegación blogger. He usado xec's solution anteriormente.Aquí es una variante del truco que estoy usando en este momento:

.button1, .button2, .button3 
{ 
    width: 60px; 
    height: 20px; 
} 
.button1 
{ 
    /* float implies block display */ 
    float: left; 
    background-image: url(http://dummyimage.com/60x20/fc0/000.gif&text=Button+1); 
} 
.button2 
{ 
    /* set block display to make width, height and auto margin work */ 
    display: block; 
    margin: 0 auto; 
    background-image: url(http://dummyimage.com/60x20/fc0/000.gif&text=Button+2); 
} 
.button3 
{ 
    /* float implies block display */ 
    float: right; 
    background-image: url(http://dummyimage.com/60x20/fc0/000.gif&text=Button+3); 
} 

Demo

Cuestiones relacionadas