Preciso que alguns divs sejam posicionados no centro e se ajustem à largura do conteúdo ao mesmo tempo.
Agora estou fazendo assim:
.mydiv-centerer{
text-align: center;
.mydiv {
background: none no-repeat scroll 0 0 rgba(1, 56, 110, 0.7);
border-radius: 10px 10px 10px 10px;
box-shadow: 0 0 5px #0099FF;
color: white;
margin: 10px auto;
padding: 10px;
text-align: justify;
width: -moz-fit-content;
}
}
Agora, o último comando "width: -moz-fit-content;" é exatamente o que eu preciso!
O único problema é ... funciona apenas no Firefox.
Eu também tentei com "display: inline-block;" , mas preciso que esses divs se comportem como divs. Ou seja, cada próximo div deve estar abaixo , e não em linha , do anterior.
Você conhece alguma solução possível para vários navegadores?
firefox
css
cross-browser
Darme
fonte
fonte
fit-content
agora.fit-content
. Em todos os navegadores, exceto o Firefox, ele funciona sem o prefixo, o Firefox ainda precisa-moz-fit-content
. Consulte developer.mozilla.org/en-US/docs/Web/CSS/…Respostas:
Por fim, resolvi simplesmente usando:
display: table;
fonte
display: table
emargin: auto
centrar aform
. Ótimo! : Dmax-width: 100%
.fit-content
. Em todos os navegadores, exceto o Firefox, ele funciona sem o prefixo, o Firefox ainda precisa-moz-fit-content
. Consulte developer.mozilla.org/en-US/docs/Web/CSS/…O MDN da Mozilla sugere algo como o seguinte [ fonte ]:
p { width: intrinsic; /* Safari/WebKit uses a non-standard name */ width: -moz-max-content; /* Firefox/Gecko */ width: -webkit-max-content; /* Chrome */ }
fonte
-moz-max-content
é apenas equivalente a-moz-fit-content
enquanto o elemento pai é mais largo.-moz-fit-content
ajustará o conteúdo e envolverá o texto, mas-moz-max-content
se estenderá para fora do elemento pai. O mesmo se aplica ao Chrome-webkit-max-content
efit-content
.width: max-content;
.Em caso semelhante, usei:
white-space: nowrap;
fonte
Existe uma única declaração que corrige isso para Webkit, Gecko e Blink? Não. No entanto, há uma solução para vários navegadores especificando vários valores de propriedade de largura que correspondem à convenção de cada mecanismo de layout.
.mydiv { ... width: intrinsic; /* Safari/WebKit uses a non-standard name */ width: -moz-max-content; /* Firefox/Gecko */ width: -webkit-max-content; /* Chrome */ ... }
Adaptado de: MDN
fonte
Eu uso estes:
.right {display:table; margin:-18px 0 0 auto;} .center {display:table; margin:-18px auto 0 auto;}
fonte
width: intrinsic; /* Safari/WebKit uses a non-standard name */ width: -moz-max-content; /* Firefox/Gecko */ width: -webkit-max-content; /* Chrome */
fonte
Por que não usar alguns
br
s?<div class="mydiv-centerer"> <div class="mydiv">Some content</div><br /> <div class="mydiv">More content than before</div><br /> <div class="mydiv">Here is a lot of content that I was not anticipating</div> </div>
CSS
.mydiv-centerer{ text-align: center; } .mydiv{ background: none no-repeat scroll 0 0 rgba(1, 56, 110, 0.7); border-radius: 10px 10px 10px 10px; box-shadow: 0 0 5px #0099FF; color: white; margin: 10px auto; padding: 10px; text-align: justify; display:inline-block; }
Exemplo: http://jsfiddle.net/YZV25/
fonte
display: table;
vez dedisplay: inline-block;
.