Mam dwa kontenery div.
Chociaż jeden musi mieć określoną szerokość, muszę go dostosować, aby drugi element div zajmował resztę miejsca. Czy jest jakiś sposób, żebym mógł to zrobić?
.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 -->
Odpowiedzi:
Zobacz: http://jsfiddle.net/SpSjL/ (dostosuj szerokość przeglądarki)
HTML:
CSS:
Możesz to również zrobić
display: table
, co zwykle jest lepszym podejściem: Jak umieścić element wejściowy w tym samym wierszu, co jego etykieta?źródło
div
s, jak w mojej odpowiedzi i moim demo.right
wtedyleft
.Jest rok 2017 i najlepszym sposobem na to jest użycie flexboksa, który jest kompatybilny z IE10 + .
źródło
Możesz użyć funkcji calc () w CSS.
Demo: http://jsfiddle.net/A8zLY/543/
Mam nadzieję, że to ci pomoże !!
źródło
Jeśli możesz odwrócić kolejność w kodzie źródłowym, możesz to zrobić w ten sposób:
HTML:
CSS:
Przykład: http://jsfiddle.net/blineberry/VHcPT/
Dodaj kontener i możesz to zrobić z aktualną kolejnością kodu źródłowego i pozycjonowaniem bezwzględnym:
HTML:
CSS:
Tutaj
.left
div pobiera domyślnie ustawioną szerokość odtop
,left
iright
stylów, które pozwala na to, aby wypełnić pozostałą przestrzeń w#container
.Przykład: http://jsfiddle.net/blineberry/VHcPT/3/
źródło
Jeśli możesz zawinąć je w kontener,
<div>
możesz użyć pozycjonowania, aby<div>
zakotwiczyć lewą stronęleft:0;right:250px
, zobacz to demo . Powiem teraz, że to nie będzie działać w IE6 jak tylko jeden narożnik<div>
może być całkowicie umieszczony na stronie ( patrz tutaj dla pełnego wyjaśnienia).źródło
1 - Przygotuj element div wrapper, ustaw dopełnienie i margines tak, jak chcesz
2 - Ustaw lewą stronę div o wymaganej szerokości i
ustaw ją tak, by pływała po lewej stronie 3 - Ustaw margines div po prawej stronie równy szerokości lewej strony
Mam nadzieję, że to działa dla Ciebie!
źródło
Można to osiągnąć na kilka sposobów, ujemne marże są jednym z moich ulubionych:
http://www.alistapart.com/articles/negativemargins/
Powodzenia!
źródło
ustaw swoją prawą na określoną szerokość i przesuń ją, po lewej ustaw tylko margines prawy na 250px
}
źródło
Jeśli potrzebujesz rozwiązania obejmującego wiele przeglądarek, możesz skorzystać z mojego podejścia, przejrzystego i łatwego.
źródło
Użyj prostego, który może ci pomóc
źródło