Ответ 1
Это. Вы ищете полужидкую компоновку. Квест был первоначально святым граалем реализации CSS... Но, как вы можете видеть из этой ссылки (они делают 3 столбца, 2 исправлено, но легко изменить), это проблема долго решена =)
Извините за незначительное название мусора. Я не мог подумать, как лучше описать это.
Я пытаюсь внедрить гаджет Google Friend Connect на моем сайте (только что попал в схему и хочу включить его без большой редизайна, по крайней мере для тестирования).
Моя проблема такова:
У меня есть контейнер div, который имеет ширину 90% от главной страницы (тела). Внутри этого я плаваю div справа и устанавливаю его ширину до 300 пикселей и помещаю гаджет Google в него. Я бы хотел, чтобы иметь div, заполняющий 95% пространства, оставшегося слева от div гаджета google.
Я не знаю, можно ли смешивать px и% с div и шириной.
Надеюсь, это имеет смысл.
Спасибо
Это. Вы ищете полужидкую компоновку. Квест был первоначально святым граалем реализации CSS... Но, как вы можете видеть из этой ссылки (они делают 3 столбца, 2 исправлено, но легко изменить), это проблема долго решена =)
Я сделал быстрый эксперимент, посмотрев на ряд потенциальных решений повсюду. То, что я пытался сделать, это иметь смесь жидких и фиксированных строк и столбцов.
Вот что я закончил:
.main {
display: flex;
width: 90%;
}
.col1 {
flex-grow: 1;
}
.col2 {
width: 300px;
margin-left: 5%;
}
<div class="main">
<div class="col1" style="background: #eee;">Left column</div>
<div class="col2" style="background: #ccc;">Right column</div>
</div>
Вам нужно создать алгоритм с использованием jQuery или JS, который проверяет оставшееся пространство и устанавливает ширину элемента "остаток" динамически, для реагирующей сборки. Если сборка не реагирует, вы можете проверить и установить ширину элемента, выполнив простые математические вычисления.
Мы столкнулись с подобными проблемами при создании медиа-системы с жидкостной чувствительностью.