Задать вопрос

Как сверстать 3 колоночный fluid layout, где боковые колонки занимают все свободное место?

Приветствую!
Была поставлена задача реализовать меню как на скриншоте https://goo.gl/RNTVgw.
Все бы ничего, но при hover, фон у пункта должен меняться на полупрозрачный.
Сейчас сделано следующим образом: динамически создаю before и after элементы через JS и назначаю им ширину да позиционирую, чтобы замостили свободное место.
var fillColumns = function () {
    var headerWidth = $('header').innerWidth();
    var navWidth = $('.navbar .navbar-nav').innerWidth();
    var fillColumnWidth = Math.ceil((headerWidth - navWidth) / 2);
    $('#fillColumns').remove();
    var css = '<style id="fillColumns">.navbar .navbar-nav::before,.navbar .navbar-nav::after{width:' + fillColumnWidth + 'px;}</style>';
    document.head.insertAdjacentHTML('beforeEnd', css);
};

Без них меню выглядит следующим образом https://goo.gl/QebXC8. На голом CSS реализацию нашел stackoverflow.com/questions/8283225/three-column-l... , но центральный блок не обтекается по контенту, поэтому остается пустое место без фона.
В общем вопрос таков. Как можно реализовать fluid layout из 3 столбцов, где центральный имеет ширину, равную ширине внутреннего контента, а боковые блоки растягиваются по свободному месту.
  • Вопрос задан
  • 179 просмотров
Подписаться 2 Оценить 1 комментарий
Решения вопроса 1
delphinpro
@delphinpro Куратор тега CSS
frontend developer
jsfiddle.net/XMg2h/670

по-моему всё достаточно очевидно решается без скриптов.

UPD (из комментов)
jsfiddle.net/XMg2h/671
jsfiddle.net/XMg2h/672
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
customtema
@customtema
arint.ru
JS можно применять?

А в чем проблема?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы