J'ai besoin que certains divs soient centrés _ et ajustent leur largeur en même temps.
Je le fais maintenant comme ça:
.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;
}
}
Maintenant, la dernière commande "width: -moz-fit-content;" est exactement ce dont j'ai besoin!
Le seul problème est .. cela ne fonctionne que sur Firefox.
J'ai aussi essayé avec "display: inline-block;", mais j'ai besoin que ces divs se comportent comme des divs. À savoir, chaque prochaine div doit être sous _ et non inline_, la précédente.
Connaissez-vous une solution multi-navigateur possible?
Enfin je l'ai corrigé simplement en utilisant:
display: table;
Le MDN de Mozilla suggère quelque chose comme ceci [ source ]:
p {
width: intrinsic; /* Safari/WebKit uses a non-standard name */
width: -moz-max-content; /* Firefox/Gecko */
width: -webkit-max-content; /* Chrome */
}
Existe-t-il une déclaration unique qui résout ce problème pour Webkit, Gecko et Blink? Cependant, il existe une solution inter-navigateurs en spécifiant plusieurs valeurs de propriété de largeur correspondant à la convention de chaque moteur de présentation.
.mydiv {
...
width: intrinsic; /* Safari/WebKit uses a non-standard name */
width: -moz-max-content; /* Firefox/Gecko */
width: -webkit-max-content; /* Chrome */
...
}
Adapté de: MDN
Dans un cas similaire, j'ai utilisé: white-space: nowrap;
J'utilise ces:
.right {display:table; margin:-18px 0 0 auto;}
.center {display:table; margin:-18px auto 0 auto;}
Pourquoi ne pas utiliser certains 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;
}
Exemple:http://jsfiddle.net/YZV25/
width: intrinsic; /* Safari/WebKit uses a non-standard name */
width: -moz-max-content; /* Firefox/Gecko */
width: -webkit-max-content; /* Chrome */