DIV inline-block + largeur 100%
Je ne peux pas afficher un peu de DIV dans une ligne. display: inline-block
et float: left
ne fonctionne pas. Mon site la largeur n'est pas fixed
donc je veux qu'il soit dynamique pour s'adapter à toute la largeur de l'écran.
HTML:
<div id="all">
<div id="a">25px</div>
<div id="b">200px</div>
<div id="c">
<div id="c1">100%</div>
<div id="c2">100%</div>
<div id="c3">100%</div>
</div>
500px
</div>
CSS:
DIV {
margin:5px;
font-size:10px;
}
DIV#all {
width:500px;
border:1px dotted black;
}
DIV#a {
display:inline-block;
width:25px;
height:200px;
border:1px solid red;
color:red;
}
DIV#b {
display:inline-block;
width:150px;
height:200px;
border:1px solid green;
color:green;
}
DIV#c {
display:inline-block;
width:auto;
height:200px;
border:1px solid blue;
color:blue;
}
DIV#c1 {
width:auto;
border:1px dotted blue;
color:blue;
}
DIV#c2 {
width:auto;
border:1px dotted blue;
}
DIV#c3 {
width:auto;
border:1px dotted blue;
color:blue;
}
Démonstrations En Direct:
- PROBLÈME: http://jsfiddle.net/BC2d9/
- RÉSOLU: http://jsfiddle.net/RAds3/ (
display:table
)
source d'informationauteur clavish
Vous devez vous connecter pour publier un commentaire.
Le problème avec votre tentative est la
width: 100%;
sur la troisième colonnediv#c
. 100% ici sera de 100% de son parent - qui contient tous les trois colonnes. Selon ce niveau de flexibilité que vous voulez, vous avez quelques options.Si le site la largeur est fixe, définir une largeur fixe pour la troisième colonne.
Si vous voulez la troisième colonne pour étirer son contenu, le jeu de max-width.
Si vous voulez la troisième colonne à s'étirer pour remplir son parent, vous êtes probablement mieux avec (css) des tables.
Découvrez http://somacss.com/cols.html pour une excellente ressource sur colonne css de mise en page.
Problème est avec la troisième colonne. Vous ne pouvez pas régler la largeur à 100%. Aussi, vous devez
float: left;
. Voici fixes code:et CSS:
Et aussi DÉMO
Si votre site la largeur est fixe, alors il suffit de remplacer
100%
avec tous restés dans la largeur du conteneur.Exemple: jsFiddle
Si vous voulez qu'il soit dynamique et à s'adapter à toute la largeur de l'écran, je pense qu'il n'est pas possible avec pur CSS. Je l'ai fait avec jQuery:
Modifié le CSS:
Retiré
width: 100%
et définirfloat:right
à#c
.Démo Live: jsFiddle
Découvrez cette mise à jour. J'espère, c'est assez bon 🙂
Aide?