2014-09-24 25 views
6

Wahrscheinlich eine Lösung, die beantwortet wurde, aber mit all den falschen Antworten (aka, Antworten, die dieses Problem nicht lösen), ist es sehr schwierig zu durchforsten, um die richtige zu finden .CodeMirror fill Div und make Div 100% height

Das Problem ist dies --- Wie man Codemirror 100% der div Eltern füllen --- ohne dass der Rest der Seite in 100% Höhe, da dies die folgenden Probleme verursacht:

Wenn

mit

Sie sagen der Seite effektiv, dass die gesamte Höhe der Ansichts-Port des Browsers für die gesamte Seite einschließlich aller Inhalte ist. Das Problem dabei ist, dass ich nicht möchte, dass alles auf der Seite auf dieses Verhältnis beschränkt wird. Was ich tun möchte, ist normalen Zugriff auf die Seite, ohne Reaktionsfähigkeit zu brechen (aka, mobile, etc. Unterstützung), und immer noch ein einzelnes div auf der Seite (rechtes Feld) haben ein div, dass nur div 100% Höhe ist --- des Raumes in diesem div. Ich will nicht 100% Höhe in das Menü überlaufen, unter/über das Menü gehen, etc. Es muss in der Box bleiben.

enter image description here

Antwort

6

Haben Sie dieses Attribut versucht:

/* Firefox */ 
height: -moz-calc(100vh - 190px); 
/* WebKit */ 
height: -webkit-calc(100vh - 190px); 
/* Opera */ 
height: -o-calc(100vh - 190px); 
/* Standard */ 
height: calc(100vh - 190px); 

Mit calc mit vh kombiniert Sie die Größe des Elements in den sichtbaren Bereich zu beschränken erlaubt.

+0

Das ist ein sehr praktischer Befehl (vh) ... aber was passiert ist, ist die CodeMirror-Box auf die Veiwport Höhe, und nicht die Höhe des Containers ist es in - was bedeutet, dass CodeMirror ist so genau bemessen Höhe des Inhalts darüber ist, was von der Seite scrollbar ist. Gibt es eine Möglichkeit, den Unterschied zwischen der oberen Elementhöhe und vh automatisch zu berechnen? Dies ist ansprechend. –

+0

Versuchen Sie, den Rand des übergeordneten Div zu verwenden: 0; und verwende die Child-Div-Höhe: 100%; –

+0

tun, dass wirklich Dinge banggers. CodeMirror geht immer noch von der Seite und überlappt das linke Menü. Es zwingt auch meine Kopfzeile, alle Elemente nach links auszurichten, wobei die Höhe beibehalten wird. Gibt es eine Möglichkeit, css3 zu verwenden, um die Höhe eines anderen divs durch seinen Selektor zu erhalten - und das in einer Berechnung zu verwenden - das würde sicher funktionieren. Alle Google-Ergebnisse zeigen nur auf Javascript, aber ich bin mir sicher, dass dies möglich ist. –