Ich habe zwei Div-Container.
Während einer eine bestimmte Breite haben muss, muss ich ihn anpassen, damit der andere Div den Rest des Raums einnimmt. Kann ich das auf irgendeine Weise tun?
.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 -->
Antworten:
Siehe: http://jsfiddle.net/SpSjL/ (passen Sie die Breite des Browsers an)
HTML:
CSS:
Sie können dies auch tun
display: table
, was normalerweise ein besserer Ansatz ist: Wie kann ich ein Eingabeelement in dieselbe Zeile wie seine Bezeichnung setzen?quelle
div
s tauschen , wie in meiner Antwort und meiner Demo.right
dannleft
.Es ist 2017 und der beste Weg, dies zu tun, ist die Verwendung der Flexbox, die IE10 + -kompatibel ist .
quelle
Sie können die Funktion calc () von CSS verwenden.
Demo: http://jsfiddle.net/A8zLY/543/
Hoffe das wird dir helfen !!
quelle
Wenn Sie die Reihenfolge im Quellcode umkehren können, können Sie dies folgendermaßen tun:
HTML:
CSS:
Ein Beispiel: http://jsfiddle.net/blineberry/VHcPT/
Fügen Sie einen Container hinzu und Sie können dies mit Ihrer aktuellen Quellcode-Reihenfolge und absoluten Positionierung tun:
HTML:
CSS:
Hier wird die
.left
bekommt div eine implizit gesetzt Breite von dertop
,left
undright
Stile , die erlaubt es den verbleibenden Raum zu füllen#container
.Beispiel: http://jsfiddle.net/blineberry/VHcPT/3/
quelle
Wenn Sie sie in einen Behälter einwickeln können, können
<div>
Sie die Position mithilfe der Positionierung<div>
verankernleft:0;right:250px
, siehe diese Demo . Ich werde jetzt sagen, dass dies in IE6 nicht funktioniert, da nur eine Ecke von a<div>
absolut auf einer Seite positioniert werden kann ( siehe hier für eine vollständige Erklärung).quelle
1- Haben Sie ein Wrapper-Div, stellen Sie die Polsterung und den Rand nach
Ihren Wünschen ein. 2- Stellen Sie das Div auf der linken Seite auf die Breite ein, die Sie benötigen, und lassen Sie es nach links schweben.
3- Stellen Sie den Div-Rand auf der rechten Seite gleich der Breite auf der linken Seite ein
Hoffe das funktioniert bei dir!
quelle
Es gibt einige Möglichkeiten, dies zu erreichen. Negative Margen sind einer meiner Favoriten:
http://www.alistapart.com/articles/negativemargins/
Viel Glück!
quelle
Stellen Sie Ihr Recht auf die spezifische Breite ein und schweben Sie es. Stellen Sie links den Rand rechts auf 250px ein
}}
quelle
Wenn Sie eine browserübergreifende Lösung benötigen, können Sie meinen Ansatz klar und einfach verwenden.
quelle
Verwenden Sie das einfache, das Ihnen helfen kann
quelle