Actualmente tengo un div con ancho: automático para llenar todo el ancho de la pantalla, pero quiero poner una barra lateral en el lado derecho. Cuando floto el ancho: auto div izquierda y div ancho fijo a la derecha que va debajo en su lugar. Básicamente estoy buscando algo similar a lo que tiene reddit con la barra de búsqueda en el ancho correcto, el contenido se ajusta automáticamente al ancho de la página. Gracias¿Cómo agregar un div de ancho fijo al lado de un div de ancho automático?
Respuesta
Puede que sea así:
Digamos que tiene esos 2 divs dentro de un contenedor primario, que se expande para ajustarse a la página:
<div id="container">
<div id="autowidth">text expands her...</div>
<div id="fixed">This is a fixed column</div>
</div>
En tu CSS:
#container {
width:100%;
border:1px solid black;
padding-right:200px;
}
#autowidth{
width:100%;
background-color:red;
float:left;
}
#fixed{
width:200px;
background-color:green;
float:right;
margin-right:-200px;
}
Básicamente, el contenedor principal mantiene todo junto. Tiene un relleno de 200px (el ancho de la columna derecha), por lo que su contenido no va más allá de ese punto. A su vez, la columna derecha tiene un margen de -200px, por lo que fuerza los límites impuestos por el relleno principal y se ubica siempre en la parte superior derecha. El otro div, en realidad, ahora solo tiene los espacios proporcionados por el contenedor padre, restringido por su relleno, por lo que su 100% sería, de hecho, (100% - (relleno de los padres)). Puede ver un resultado de trabajo aquí: jsfiddle.
Estoy bastante seguro de que podría haber soluciones más elegantes por ahí, tan desnudo conmigo.
si se quiere dar un fondo, al igual que se tratara de 2 cols, puede ir para el fondo de los clásicos 'columnas de imitación' (véase el ejemplo en a list apart)
No es necesario estrictamente un contenedor div. Hice css en línea por brevedad.
<div style="float:right; width:14em; background-color:#CCC;">
<p>This div is fixed-width.</p>
</div>
<div style="background-color:#EEE; margin-right:14.5em;">
<p>This div is auto-width.</p>
</div>
La respuesta no funciona para mí, creo que está desactualizada. Ahora tiene que especificar el tamaño del cuadro: border-box para el relleno para contar el ancho, pero gracias por la inspiración. Esta es mi solución.
#autowidth {
float:left;
width:100%;
padding-right:200px;
box-sizing:border-box;
}
#fixed {
float:right;
width:200px;
margin-left:-200px;
}
- 1. Determine el ancho de un ancho DIV dinámico Multivolpea de DIV 3 ancho de columna fijo
- 2. CSS - ancho fijo SPAN/div
- 3. Div ancho fijo a la izquierda, relleno ancho restante div a la derecha
- 4. div con un ancho desconocido
- 5. Div ancho fijo en la izquierda y div ancho fluido en la derecha
- 6. conseguir ancho de un elemento div
- 7. Dos columnas div. Ancho dinámico de uno
- 8. centrando un div sin establecer el ancho
- 9. Div con ancho fijo de representación demasiado ancho en el ipad
- 10. ¿Cómo limitar el ancho de div?
- 11. Center Div dentro de otro (100% de ancho) div
- 12. CSS centrado horizontal de un div fijo?
- 13. ancho DIV inmediatamente después de agregar es calcular mal?
- 14. ¿Cómo hacer un div fijo?
- 15. ¿Cómo establecer un ancho fijo para un elemento Div con visualización en línea?
- 16. Ancho de pantalla completa área div
- 17. ancho Div en cm (pulgada)
- 18. ancho de barra de desplazamiento div
- 19. Diseño de CSS - Ancho dinámico DIV
- 20. CSS - Entrada al 100% de ancho se superpone a div
- 21. Dos columnas, izquierda con ancho fijo, derecha con ancho dinámico
- 22. Hacer DIV fijo dentro de un DIV desplazable
- 23. ¿Cómo vincular un ancho/alto div para formar campos?
- 24. ¿Cortar texto en un div si excede el ancho establecido?
- 25. ¿Cómo cambiar un relleno DIV sin afectar el ancho/alto?
- 26. si un div es un ancho del 100% por defecto
- 27. Div izquierdo 200px ancho, contenido div el resto?
- 28. ¿Cómo alinear verticalmente un DIV al lado de una imagen?
- 29. css - reducir un div principal para ajustarse al ancho de un niño y limitar el ancho del otro
- 30. ¿Cómo puedo escalar un div al 100% de alto y ancho dentro de otro elemento?
@Lee Jacobson Si he entendido mal su pregunta o necesita más ayuda simplemente LMK –
Esto funcionó para mí en Chrome, Firefox y IE9 * * ** excepto que no debería establecer el ancho para el contenedor **, cuando lo hice tomó más espacio que el espacio de la pantalla horizontal disponible y apareció un desplazamiento horizontal. – axk
¡Esto también funcionará en IE8 e IE7 siempre que especifique el modelo de cuadro de caja de borde! Acabo de probarlo. y tiene que obtener la secuencia de comandos de hack boxsizing.htc si desea apuntar a IE7. -webkit-box-sizing: border-box; -moz-box-sizing: border-box; tamaño de caja: border-box; * comportamiento: url (/scripts/boxsizing.htc); – James