J'ai deux conteneurs div.
Alors que l'un doit avoir une largeur spécifique, je dois l'ajuster, de sorte que l'autre div occupe le reste de l'espace. Y a-t-il moyen de faire ça?
.left {
float: left;
width: 83%;
display: table-cell;
vertical-align: middle;
min-height: 50px;
margin-right: 10px;
overflow: auto;
}
.right {
float: right;
width: 16%;
text-align: right;
display: table-cell;
vertical-align: middle;
min-height: 50px;
height: 100%;
overflow: auto;
}
<div class="left"></div>
<div class="right"></div> <!-- needs to be 250px -->
Réponses:
Voir: http://jsfiddle.net/SpSjL/ (ajustez la largeur du navigateur)
HTML:
CSS:
Vous pouvez également le faire avec
display: table
, ce qui est généralement une meilleure approche: Comment puis-je mettre un élément d'entrée sur la même ligne que son étiquette?la source
div
s, comme dans ma réponse et ma démo.right
alorsleft
.Nous sommes en 2017 et la meilleure façon de le faire est d'utiliser flexbox, qui est compatible IE10 + .
la source
Vous pouvez utiliser la fonction calc () de CSS.
Démo: http://jsfiddle.net/A8zLY/543/
J'espère que ceci vous aidera!!
la source
Si vous pouvez inverser l'ordre dans le code source, vous pouvez le faire comme ceci:
HTML:
CSS:
Un exemple: http://jsfiddle.net/blineberry/VHcPT/
Ajoutez un conteneur et vous pouvez le faire avec votre ordre actuel du code source et votre positionnement absolu:
HTML:
CSS:
Ici, la
.left
div obtient une largeur est implicitement dutop
,left
et desright
styles qui lui permet de remplir l'espace restant dans#container
.Exemple: http://jsfiddle.net/blineberry/VHcPT/3/
la source
Si vous pouvez les envelopper dans un conteneur,
<div>
vous pouvez utiliser le positionnement pour<div>
ancrer la gaucheleft:0;right:250px
, voir cette démo . Je vais dire maintenant que cela ne fonctionnera pas dans IE6 car un seul coin de a<div>
peut être positionné de manière absolue sur une page ( voir ici pour une explication complète).la source
1- Ayez un div d'emballage, réglez le rembourrage et la marge comme vous le souhaitez
2- Faites le côté gauche de la largeur dont vous avez besoin et faites-le flotter à gauche
3- Réglez la marge de div côté droit égale à la largeur du côté gauche
J'espère que cela fonctionne pour toi!
la source
Il y a plusieurs façons d'accomplir, les marges négatives sont l'une de mes préférées:
http://www.alistapart.com/articles/negativemargins/
Bonne chance!
la source
réglez votre droite à la largeur spécifique et faites-la flotter, sur votre gauche, réglez simplement la marge droite à 250px
}
la source
Si vous avez besoin d'une solution multi-navigateurs, vous pouvez utiliser mon approche, claire et simple.
la source
Utilisez le simple cela peut vous aider
la source