tricks right remove float divs div css layout css-float variable-width

right - Diseño de CSS de tres columnas: ancho fijo/máximo/variable



float divs (3)

Tengo problemas para que funcione el siguiente diseño de tres columnas:

A B C +-------+-------------------+------------+ | | | | | Fixed | Use unused space | Resizable | | | | | +-------+-------------------+------------+

Dónde:

  • A es ancho fijo.
  • B usa cualquier espacio disponible en el contenedor no utilizado por las columnas A y C.
  • C contiene contenido que puede cambiar el ancho y necesita "empujar" B a un ancho diferente.

Este es mi mejor intento de crear esto: http://jsfiddle.net/x3ESz/

Todos los otros temas que he analizado sugieren que los tres floten con B utilizando márgenes para evitar el ajuste, pero esto no permite que C cambie el tamaño de B en función del contenido de C (como se debe dar un valor para el margen derecho de B).

También quiero evitar recurrir a JS para lograr esto.



Puede arreglarlo sin cambiar su diseño si usa este script:

$(document).ready(function() { $(''#div_right'').click(function() { $(this).append(''--''); $(''#div_middle'').css("margin-right", $(''#div_right'').width() + 2 +"px"); }); });


Incluso funciona con ambas barras laterales de ancho variable:

http://jsfiddle.net/QG2EU/

#div_left{ float:left; border:1px solid #F00; } #div_middle { overflow: hidden; border:1px solid #0F0; } #div_right { float:right; border:1px solid #00F; }