2015-07-20 4 views
1

Я требую 3 дивы на верхней, средней и нижней3 Divs на верхней средней и нижней части

enter image description here

Я использовал JQuery, чтобы получить высоту окна просмотра и применяется процент же к соответствующему началу и только дно. Однако, когда я изменяю размер страницы, все выглядит некрасиво, так как средний div перекрывает остальные или наоборот. Мне нужно, чтобы сохранить запас среднего DIV (как показано на рис, что составляет около 10px)

Вот мой Javascript

$(document) .ready (function(){ 

function thirty_pc() { 
var height = $(window).innerHeight(); 
var thirtypc = (40 * height)/100; 
thirtypc = parseInt(thirtypc) + 'px'; 
$(".botline,.topline").css('height',thirtypc); 
} 

$(document).ready(function() { 
thirty_pc(); 
$(window).bind('resize', thirty_pc); 
}); 

}); 

Есть ли способ, то же самое можно сделать с помощью CSS или с Jquery.

Ждем вашей помощи. Спасибо.

+0

Я только что обновил свой запрос. Я требую, чтобы верхний и нижний сегменты расширялись по высоте, чтобы покрыть порт представления, за исключением средней части. Верх и низ будут иметь некоторые фоновые изображения тоже .. Спасибо – Gops

+0

См. Https://jsfiddle.net/zer00ne/omo5wab9/9, это просто CSS без JS/jQ. Не очень сложно, попробуйте один раз, и вы увидите, что это лучшая альтернатива. Этот генератор может помочь вам начать работу http://css3gen.com/css3-flexbox/ – zer00ne

ответ

0

DEMO

flexbox Попробуйте использовать. Это чистый CSS и все современные браузеры compatible

HTML

<div id="mainFlex"> 
    <div id="box1">❶</div> 
    <div id="box2">❷</div> 
    <div id="box3">❸</div> 
</div> 

CSS

div { 
    border: 3px solid red; 
    margin: 10px; 
} 
#mainFlex { 
    display: -webkit-box; 
    display: box; 
    -webkit-box-orient: vertical; 
    box-orient: vertical; 
    -webkit-box-pack: center; 
    box-pack: center; 
    -webkit-box-direction: normal; 
    box-direction: normal; 
    -webkit-box-align: stretch; 
    ox-align: stretch; 
    border: 1px dashed blue; 
} 
#box1 { 
    -webkit-box-ordinal-group: 1; 
    box-ordinal-group: 1; 
    -webkit-box-flex: 0; 
    box-flex: 0; 
    height: auto; 
    min-height: 100px; 
} 
#box2 { 
    -webkit-box-ordinal-group: 2; 
    box-ordinal-group: 2; 
    -webkit-box-flex: 0; 
    box-flex: 0; 
    height: 100px; 
} 
#box3 { 
    -webkit-box-ordinal-group: 3; 
    box-ordinal-group: 3; 
    -webkit-box-flex: 0; 
    box-flex: 0; 
    height: auto; 
    min-height: 100px; 
} 
+0

Спасибо за быстрый ответ. Сэр, я обновил свой запрос, мне нужно, чтобы верхний и нижний divs полностью расширялись. Также то же самое, чтобы быть отзывчивым. Спасибо – Gops

+0

Да, flexbox разработан для этого, как демонстрационные шоу, вместо этого используйте vw и vh. http://demosthenes.info/blog/660/Using-vw-and-vh-Measurements-In-Modern-Site-Design – zer00ne

+0

https://jsfiddle.net/zer00ne/omo5wab9/9/ В этой демонстрации показано использование vh и vw на контейнере '# mainFlex' и' box-flex' установлен равным 2 для расширяющихся ящиков # 1 и # 3 – zer00ne

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