Comment faire un div remplir un espace horizontal?

J'ai 2 divs: l'un à gauche et un à droite de ma page. Celui de gauche a une largeur fixe et je veux la une de la côté droit pour remplir l'espace restant.

CSS:

    #search {
        width: 160px;
        height: 25px;
        float: left;
        background-color: #ffffff;
    }
    #navigation {
        width: 780px;
        float: left;  
        background-color: #A53030;
    }

HTML:

<div id="search">Text</div>
<div id="navigation">Navigation</div>

  • Supprimer la largeur et la propriété float sur le #de navigation et il va fonctionner.
  • connexes stackoverflow.com/questions/4873832/...
  • vous pourriez vouloir mettre à jour votre réponse choisie à celui fourni par Hank
  • en fait, si vous regardez mystrdat de réponse, je pense que c'est encore mieux. C'est une seule ligne de css et c'est la seule qui a fonctionné pour moi (je suis en train de faire trois colonnes avec float:left; sur les deux premiers avec des largeurs fixes et overflow:auto sur le dernier et il fonctionne très bien)
  • juste assez. En fait, il semble utiliser la même technique que la réponse que j'ai fournie pour stackoverflow.com/questions/4873832/...
  • Découvrez ma réponse quelques lignes ci-dessous. La réponse est: pour combiner float: left et overflow hidden. Cela va vous donner le vrai "remplir l'espace restant sur le comportement de la colonne de droite.
  • En 2018, flex est souvent la meilleure façon d'aller. Voir @Jordan réponse ci-dessous - stackoverflow.com/a/25117686/846727

InformationsquelleAutor alexchenco | 2009-06-23