2013-07-03 4 views
0

Я создаю 3 колонки, полная ширина страницы, но я хочу иметь 2 колонки фиксированной ширины, а другой будет соответствовать полной ширине между ними, например, так:Ширины с фиксированной и переменной шириной (таблица или поплавок)?

| Fixed Width || Variable Width    || Fixed Width  | 
| Always Left || Adapts To Browser Window Size || Always Fixed Right | 

Я попробовал его с поплавком, который не работал, а затем кто-то предложил использовать экранную таблицу, которая работала, пока мне не пришлось слегка редактировать страницу. Теперь правый столбец в порядке, но 2 левых столбца имеют контент справа внизу, а не наверху, где он должен быть. Кто-нибудь может помочь с этим. Вот код, который я использую:

.pageContent{ 
     background-color: #DADEE1; 
     width: 100%; 
     padding: 10px 0px 10px 0px; 
    } 
    .gridSystem{ 
     display: table; 
    } 
    section{ 
     display: table-cell; 
    } 
    .mainSidebar{ 
     float: left; 
     vertical-align: top; 
     width: 140px; 
    } 
    .mainPage{ 
     width: inherit; 
     overflow: hidden; 
     margin: 0px 0px 0px 0px; 
     padding: 20px; 
    } 
    .mainAdvert{ 
     float: right; 
     width: 140px; 
    } 

<div class="pageContent gridSystem"> 
    <section class="mainSidebar"></section> 
    <section class="mainPage"></section> 
    <section class="mainAdvert"></section> 
    <div class="clearBoth"></div> 
</div> 

Спасибо

+0

Нужно ли быть в CSS? – zurfyx

+0

Я предполагаю, что пока есть подходящая альтернатива работе во всех крупных браузерах. Я также должен добавить, что .mainPage будет содержать сетку стиля кладки JQuery. – user2516546

+0

Обновлено все. Проверьте его снова. – zurfyx

ответ

0

Попробуйте это решение Jquery:

$(document).ready(function(){ 
    window_width = $(window).width; 
    mainPage_width = window_width - 140 - 140; 
    $(".mainPage").width = mainPage_width + "px";  
} 

http://jsfiddle.net/_rov/zBF3j/

+0

Thaks, но, как вы можете заметить из кода, который я дал, это .mainPage, я хочу быть полной и не ограничен! – user2516546

+0

Спасибо, версия css помещает .mainPage под .mainSidebar – user2516546

+0

Не уверен в решении CSS тогда. Но я уверен, что решение JQuery работает для всех браузеров. – zurfyx

0

Поскольку левая колонка (mainSidebar) фиксирована, вам знайте точку, где начинается столбец 2 (mainPage) ... затем используйте jQuery для установки ширины (или любого другого css) ... Согласовано с Rov - я не думаю, что CSS может учитывать различные экраны - поэтому лучше всего использовать jQuery/Javascript.

Смежные вопросы