Eu tenho uma largura fixa div
com dois botões. Se os rótulos dos botões forem muito longos, eles se quebram - um botão permanece na primeira linha e o próximo botão segue embaixo dele, em vez de ficar adjacente a ele.
Como forçar a div
expansão para que os dois botões estejam em uma linha?
Respostas:
Tente
white-space: nowrap;
. . .fonte
white-space
, onowrap
valor é suportado no IE 6+, embora outros valores sejam apenas o IE 8+Uma combinação dos dois
float: left;
white-space: nowrap;
funcionou para mim.Cada um deles independentemente não alcançou o resultado desejado.
fonte
Não sei o raciocínio por trás disso, mas configurei meu contêiner pai
display:flex
e o contêiner filhodisplay:inline-block
e eles permaneceram alinhados, apesar da largura combinada dos filhos exceder o pai.Não tinha necessidade de brincar com
max-width
,max-height
,white-space
ou qualquer outra coisa.Espero que ajude alguém.
fonte
display: flex
. Não precisava de mais nada.Se você não se importa com uma largura mínima para a div e realmente não quer que a div se expanda por todo o contêiner, você pode flutuar para a esquerda - divs flutuadas por padrão expandem para oferecer suporte ao conteúdo, da seguinte forma:
fonte
Se sua div tiver uma largura fixa, ela não deverá se expandir, porque você a fixou. No entanto, navegadores modernos oferecem suporte a uma
min-width
propriedade CSS.Você pode emular a propriedade min-width em navegadores antigos do IE usando expressões CSS ou largura automática e tendo um objeto espaçador no contêiner. Esta solução não é elegante, mas pode fazer o truque:
fonte
Forçar os botões a permanecerem na mesma linha fará com que eles ultrapassem a largura fixa da div em que estão. Se você concorda com isso, pode criar outra div dentro da div que você já possui. A nova div, por sua vez, manterá os botões e terá a largura fixa de quanto espaço os dois botões precisarem para permanecer em uma linha.
Aqui está um exemplo:
Você pode considerar a propriedade overflow para a parte do conteúdo fora da
parentDiv
borda.Boa sorte!
fonte