У меня есть два контейнера div.
Хотя у одного должна быть определенная ширина, мне нужно отрегулировать ее, чтобы другой div занимал остальное пространство. Есть ли способ сделать это?
.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 -->
Ответы:
См .: http://jsfiddle.net/SpSjL/ (настройте ширину браузера)
HTML:
CSS:
Вы также можете сделать это с помощью
display: table
, что обычно является лучшим подходом: как я могу поместить элемент ввода в ту же строку, что и его метка?источник
div
s, как в моем ответе и моей демонстрации.right
тогдаleft
.Это 2017 год, и лучший способ сделать это - использовать flexbox, совместимый с IE10 + .
источник
Вы можете использовать функцию calc () CSS.
Демо: http://jsfiddle.net/A8zLY/543/
Надеюсь, что это поможет вам!!
источник
Если вы можете перевернуть порядок в исходном коде, вы можете сделать это следующим образом:
HTML:
CSS:
Пример: http://jsfiddle.net/blineberry/VHcPT/
Добавьте контейнер, и вы можете сделать это с вашим текущим порядком исходного кода и абсолютным позиционированием:
HTML:
CSS:
Здесь
.left
ДИВ получает неявно установленную ширину отtop
,left
иright
стилей , что позволяет ей заполнить оставшееся пространство#container
.Пример: http://jsfiddle.net/blineberry/VHcPT/3/
источник
Если вы можете обернуть их в контейнер,
<div>
вы можете использовать позиционирование, чтобы<div>
закрепить левую частьleft:0;right:250px
, см. Эту демонстрацию . Теперь я скажу, что это не будет работать в IE6, поскольку только один угол<div>
может быть абсолютно позиционирован на странице ( см. Здесь для полного объяснения).источник
1- Имейте обертку div, установите отступы и поля, как вам нравится
2- Сделайте левую сторону div необходимой ширины и заставьте ее плавать влево
3- Установите правое поле div, равное ширине левой стороны
Надеюсь, что это работает для вас!
источник
Есть несколько способов добиться этого, отрицательная маржа - один из моих любимых:
http://www.alistapart.com/articles/negativemargins/
Удачи!
источник
установите право на определенную ширину и поместите ее, слева просто установите margin-right на 250 пикселей
}
источник
Если вам нужно кроссбраузерное решение, вы можете использовать мой подход, простой и понятный.
источник
Используйте простое, это может вам помочь
источник