Eu tenho dois contêineres div.
Embora um precise ter uma largura específica, preciso ajustá-lo para que o outro div ocupe o resto do espaço. Existe alguma maneira de fazer isso?
.left {
float: left;
width: 83%;
display: table-cell;
vertical-align: middle;
min-height: 50px;
margin-right: 10px;
overflow: auto;
}
.right {
float: right;
width: 16%;
text-align: right;
display: table-cell;
vertical-align: middle;
min-height: 50px;
height: 100%;
overflow: auto;
}
<div class="left"></div>
<div class="right"></div> <!-- needs to be 250px -->
Respostas:
Veja: http://jsfiddle.net/SpSjL/ (ajuste a largura do navegador)
HTML:
CSS:
Você também pode fazer isso com
display: table
, que geralmente é uma abordagem melhor: Como posso colocar um elemento de entrada na mesma linha de seu rótulo?fonte
div
s, como na minha resposta e na minha demonstração.right
entãoleft
.Estamos em 2017 e a melhor maneira de fazer isso é usando o flexbox, que é compatível com o IE10 + .
fonte
Você pode usar a função calc () do CSS.
Demonstração: http://jsfiddle.net/A8zLY/543/
Espero que isso ajude você !!
fonte
Se você puder inverter o pedido no código-fonte, poderá fazer assim:
HTML:
CSS:
Um exemplo: http://jsfiddle.net/blineberry/VHcPT/
Adicione um contêiner e você pode fazer isso com sua ordem de código-fonte atual e posicionamento absoluto:
HTML:
CSS:
Aqui, o
.left
div recebe uma largura definida implicitamente dostop
,left
eright
estilos que lhe permite preencher o espaço restante no#container
.Exemplo: http://jsfiddle.net/blineberry/VHcPT/3/
fonte
Se você puder embrulhá-los em um contêiner,
<div>
poderá usar o posicionamento para deixar o esquerdo<div>
ancoradoleft:0;right:250px
, veja esta demonstração . Direi agora que isso não funcionará no IE6, pois apenas um canto de um<div>
pode ser posicionado absolutamente em uma página ( veja aqui a explicação completa).fonte
1- Tenha um div de invólucro, defina o preenchimento e a margem como desejar
2- Faça o div do lado esquerdo da largura que você precisa e faça-o flutuar para a esquerda
3- Defina a margem div do lado direito igual à largura do lado esquerdo
Espero que funcione para voce!
fonte
Existem várias maneiras de conseguir, as margens negativas é uma das minhas favoritas:
http://www.alistapart.com/articles/negativemargins/
Boa sorte!
fonte
defina sua direita para a largura específica e flutue-a, à sua esquerda apenas defina a margem direita para 250px
}
fonte
Se você precisa de uma solução para vários navegadores, pode usar minha abordagem, de forma clara e fácil.
fonte
Use o simples, isso pode ajudá-lo
fonte