Drei-Säulen-HTML-flex box: wie die Mitte, um alle verbleibenden Speicherplatz?

Sagen wir, ich habe ein einfaches drei-Spalten-layout mit display: flex; (demo). In der linken und rechten Spalten, ich habe die Bilder eine bestimmte Breite ( 100px ). In der mittleren Spalte habe ich die Haupt-content-Bereich. Dieser Bereich verfügt über ein high-res Bild:

<div id="main-container">

    <div id="left-content">
        <div><img src="http://agevoluzione.com/wp-content/uploads/2014/07/Work-in-progress-1024x603.png"></div>
        <div><img src="http://agevoluzione.com/wp-content/uploads/2014/07/Work-in-progress-1024x603.png"></div>
        <div><img src="http://agevoluzione.com/wp-content/uploads/2014/07/Work-in-progress-1024x603.png"></div>
        <div><img src="http://agevoluzione.com/wp-content/uploads/2014/07/Work-in-progress-1024x603.png"></div>
    </div>

    <div id="center-content">
        <div><img src="https://farm6.staticflickr.com/5560/14080568109_9f33dc7964_o.jpg"></div>
    </div>

    <div id="right-content">
        <div><img src="http://agevoluzione.com/wp-content/uploads/2014/07/Work-in-progress-1024x603.png"></div>
        <div><img src="http://agevoluzione.com/wp-content/uploads/2014/07/Work-in-progress-1024x603.png"></div>
        <div><img src="http://agevoluzione.com/wp-content/uploads/2014/07/Work-in-progress-1024x603.png"></div>
        <div><img src="http://agevoluzione.com/wp-content/uploads/2014/07/Work-in-progress-1024x603.png"></div>
    </div>
    </div>

</div>

Brauche ich, um zu zwicken die CSS so, dass der center-Spalte-Breite ist höchstens 100% der verfügbaren Fläche zwischen den seitlichen Spalten (in anderen Worten, es müssen immer diesem weit: windowSize-spalte1-spalte2). Wenn das Fenster verkleinert wird, muss ich die Mittelsäule (und sein Bild) zu schrumpfen.

#main-container
    {
    display: flex;
    justify-content: space-between;
    align-items: center;
    }

#left-content,
#right-content
    {
    width: 102px;

    border-style: solid;
    border-width: 2px;
    border-color: magenta;
    }

#left-content img,
#right-content img
    {
    width: 100px;
    }

#center-content
    {
    }

#center-content img
    {
    max-width: 100%;
    height: auto;
    }

Was bin ich?

SOrry, aber es macht auch in Ihrem Turnschuh. Es tut genau, was Sie wollen.
Nicht wirklich: in der Mitte überlappen, auf der linken Spalte.
ich denke, dass Sie verwenden können, width: calc(100% - 200px);
Ich bin traurig, dass ich wirklich nicht sehen, Ihr problem. Ich nahm einen screenshot. awesomescreenshot.com/0a93atc528
Ich erhöhte ein wenig die Breite der Spalten zu machen, mehr klar.

InformationsquelleAutor Dr. Gianluigi Zane Zanettini | 2014-08-12

Schreibe einen Kommentar