J'ai le code HTML suivant:
<div class="title">
<span>Cumulative performance</span>
<span>20/02/2011</span>
</div>
avec ce CSS:
.title
{
display: block;
border-top: 4px solid #a7a59b;
background-color: #f6e9d9;
height: 22px;
line-height: 22px;
padding: 4px 6px;
font-size: 14px;
color: #000;
margin-bottom: 13px;
clear:both;
}
Si vous vérifiez ce jsFiddle: http://jsfiddle.net/8JwhZ/
vous pouvez voir que le nom et la date sont collés ensemble. Y a-t-il un moyen pour que je puisse aligner la date à droite? J'ai essayé float: right;
le second <span>
mais ça fout le style et pousse la date en dehors de la div englobante
Réponses:
Si vous pouvez modifier le HTML: http://jsfiddle.net/8JwhZ/3/
la source
<span style="float: right">
Travailler avec des flotteurs est un peu compliqué:
Ceci comme beaucoup d'autres astuces de mise en page «triviales» peuvent être faites avec flexbox.
En 2017, je pense que c'est la solution préférée (par rapport au float) si vous n'avez pas à prendre en charge les navigateurs hérités: https://caniuse.com/#feat=flexbox
Vérifiez fiddle comment les différentes utilisations de float se comparent à flexbox ("peut inclure des réponses concurrentes"): https://jsfiddle.net/b244s19k/25/ . Si vous devez toujours vous en tenir à float, j'ai bien sûr recommandé la troisième version.
la source
float: left;
etfloat: right;
dans les travées contenant les éléments que vous souhaitez espacer.float
c'était nécessaire dans les éléments intérieurs parce que je pensais que c'était défini dans l'exemple du violon pour eux, mais pour#testD
cela, il n'est pas défini. Ma faute!Une solution alternative aux flotteurs est d'utiliser le positionnement absolu:
Voir aussi le violon .
la source
Vous pouvez le faire sans modifier le code html. http://jsfiddle.net/8JwhZ/1085/
la source
La solution utilisant flexbox sans
justify-content: space-between
.Lorsque nous utilisons
flex:1
sur le premier<span>
, il occupe tout l'espace restant et déplace le second<span>
vers la droite. Le violon avec cette solution: https://jsfiddle.net/2k1vryn7/Ici https://jsfiddle.net/7wvx2uLp/3/ vous pouvez voir la différence entre deux approches flexbox: flexbox avec
justify-content: space-between
et flexbox avecflex:1
sur la première<span>
.la source